目录如下:
1. maven依赖
org.dom4j
dom4j
2.1.1
这里要注意版本号,如果版本号过低,需要额外再引入一个依赖,否则可能会导致项目启动不了。如下:
dom4j
dom4j
1.6.1
jaxen
jaxen
1.1.1
2. dom4j解析xml数据
2.1 简单解析(一级)
//格式://<?xml version="1.0" encoding="UTF-8"?>张三//22//1//
public static voidmain(String[] args) {try{//创建一个xml格式的字符串
String xmlStr = "字符串为上面的xml格式数据";//创建saxReader对象
SAXReader reader = newSAXReader();//解析XML形式的文本,得到document对象
Document document =DocumentHelper.parseText(xmlStr);//读取文件中的数据并解析//Document document = reader.read(new File("test.xml"));//获取根节点(User)
Element root =document.getRootElement();//获取根节点下子节点的值
String name = root.elementTextTrim("name");//张三
String age = root.elementTextTrim("age");//22
String sex = root.elementTextTrim("sex");//1
}catch(Exception e){
e.printStackTrace();
}
}
2.2 复杂解析(多级)
public static voidmain(String[] args) {//格式://<?xml version="1.0" encoding="UTF-8"?>//张三//22//1//李四//23//0
try{//创建一个xml格式的字符串
String xmlStr = "字符串为上面的xml格式数据";//创建saxReader对象
SAXReader reader = newSAXReader();//解析XML形式的文本,得到document对象
Document document =DocumentHelper.parseText(xmlStr);//获取根节点(Users)
Element root =document.getRootElement();//获取根节点下子节点集合(User)
Iterator user = root.elementIterator("User");while(user.hasNext()){
Element element=(Element)user.next();
String name= element.elementTextTrim("name");
String age= element.elementTextTrim("age");
String sex= element.elementTextTrim("sex");//结果 name=张三age=22sex=1 name=李四age=23sex=0
System.out.println("name="+name+&#