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(); } } }
结果: