1、引入依赖

<dependency>
    <groupId>org.dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>2.1.1</version>
</dependency>


2、person.xml

<?xml version="1.0" encoding="UTF-8"?>

<persons>
  <person id="007">
    <name>张三</name>
    <sex>男</sex>
    <age>18</age>
  </person>
</persons>


3、代码示例

package com.example;

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

import java.util.Iterator;

public class ParseTest {

    public static void main(String[] args) {
        // 创建解析器
        SAXReader reader = new SAXReader();
        // 通过解析器的read方法获取Document对象
        Document doc = null;
        try {
            doc = reader.read("D:/_temp/person.xml");
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        
        assert doc != null;
        // 获取xml根节点
        Element root = doc.getRootElement();
        // 遍历解析子节点
        for (Iterator<Element> iter = root.elementIterator(); iter.hasNext(); ) {
            // 获取person节点对象
            Element personElement = iter.next();
            System.out.println(personElement.getName());
            //遍历解析person的子节点
            for (Iterator<Element> innerIter = personElement.elementIterator(); innerIter.hasNext(); ) {
                // 获取person节点的子节点对象
                Element innerElement = innerIter.next();
                System.out.println("    " + innerElement.getName() + ": " + innerElement.getStringValue());
            }
        }
    }

}


4、输出结果

person
    name: 张三
    sex: 男
    age: 18


Dom4j 解析 XML(SAXReader)_dom4j