编写一个user的xml文件
标签格式如下:
<users>
<user id="1001">
<userName>Tom</userName>
<password>123</password>
</user>
</users>配置文件中可以添加多个用户信息
要求对该配置文件进行解析,并将解析后的用户名、密码、编号用User进行存储,并写入user集合<?xml version="1.0" encoding="UTF-8" ?> <mvc> <users> <user id="1001"> <userName>Tom</userName> <password>123</password> </user> <user id="1002"> <userName>Jack</userName> <password>456</password> </user> </users> </mvc>
package com.igeek.mvc.controller; import com.igeek.model.User; import org.dom4j.*; import org.dom4j.io.SAXReader; import java.io.InputStream; import java.util.ArrayList; import java.util.List; public class ParseXmlTestUser { public static void main(String[] args) throws DocumentException { SAXReader saxReader = new SAXReader(); //获取配置文件对应的输入流 // System.out.println(ParseXmlTestUser.class.getClassLoader().getResourceAsStream("user-config.xml")); InputStream inputStream = ParseXmlTestUser.class.getClassLoader().getResourceAsStream("user-config.xml"); //加载配置文件进行读取,返回Document文件对象 Document document = saxReader.read(inputStream); //获取根节点 Element root = document.getRootElement(); System.out.println("根节点:---------"+root.getName()); // 获取指定名称的子节点 Element users = root.element("users"); System.out.println("mvc根节点下的子节点:---"+users.getName()); //获取user中的所有子节点 List<Element> modelList = users.elements(); ArrayList<User> userList = new ArrayList<>(); User user = new User(); for(Element element : modelList){ //创建一个List<User> 存储数据 String id = element.attributeValue("id"); // System.out.println(element.attribute("id").getValue()); user.setId(Integer.parseInt(id)); Element userName = element.element("userName"); user.setUserName(userName.getTextTrim()); // System.out.println(userName.getTextTrim()); Element password = element.element("password"); user.setPassword(password.getTextTrim()); userList.add(user); } for(User u : userList){ System.out.println("id: " + u.getId() + "\tuserName: " + u.getUserName() + "\tpassword :" + u.getPassword()); } } }
Xml文件解析
最新推荐文章于 2023-07-10 12:01:35 发布