XML解析案例

85 阅读1分钟
package run;


import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.ArrayList;

import java.util.List;

public class Demo {

    public static void main(String[] args) throws Exception {
        //创建解析器对象
        SAXReader saxReader = new SAXReader();
        //加载XML文件成为文档对象Document对象
        Document document = saxReader.read(Demo.class.getResourceAsStream("/app.xml"));
        //先拿根元素
       Element root =  document.getRootElement();
       //提取所有的contact子元素
      List<Element> contact =  root.elements("contact");
        //创建List集合
        List<User> users = new ArrayList<>();
        for (Element element : contact) {//遍历contact子元素
            //每个子元素都是一个用户对象
            User user = new User();
            //对元素进行赋值
            user.setId(Integer.parseInt(element.attributeValue("id")));
            user.setVip(Boolean.parseBoolean(element.attributeValue("vip")));
            user.setName(element.elementTextTrim("name"));
            user.setGender(element.elementTextTrim("gender").charAt(0));
            user.setEmail(element.elementTextTrim("email"));
            //添加到List集合里
            users.add(user);
        }
        for (User user : users) {//遍历List集合
            System.out.println(user);
        }

    }

}