luvhl 2019-12-06
Eclipse创建的一个XML文档内容:
<?xml version="1.0" encoding="UTF-8"?> <!-- 第一句为固定的声明语句 -->
<person> <!--开始标签,可任意定义,但要有对应的结束标签--><!-- person也是根节点 -->
    <p1> <!-- person的一个子节点 -->
        <name>zhangsan</name>
        <age>20</age>
    </p1>
    <p1>
        <name>wangwu</name>
        <age>29</age>
    </p1>
</person> <!--结束标签,与开始标签对应-->“<name>zhangsan</name>”也可以在name标签中加属性,如:<name address="beijing">zhangsan</name>。
package com.hdl.dom4jparser;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jTest {
    public static void main(String[] args) {
        try {
            // 1、创建解析器
            SAXReader reader = new SAXReader();
            // 2 、读取Document对象
            Document document = reader.read("conf/persons.xml");
            // 3、获取根节点
            Element root = document.getRootElement();
            // 4、遍历子节点
            for (Iterator<Element> eIterator = root.elementIterator(); eIterator.hasNext();) {
                // 获取student节点对象
                Element stuElement = (Element) eIterator.next();
                // System.out.println(stuElement.toString() + "信息如下:");
                for (Iterator innerIter = stuElement.elementIterator(); innerIter.hasNext();) {
                    // 获取student子节点对象
                    Element innerElement = (Element) innerIter.next();
                    String innerElementValue = innerElement.getStringValue();
                    System.out.println(innerElementValue);
                }
                System.out.println("--------------------");
            }
        } catch (DocumentException e) {
            e.printStackTrace();
        }
    }
}结果:
