package com.test;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.File;
import java.util.List;
/**
* Created by admin on 2018/7/17.
*/
public class test {
public static void main(String[] args) {
try {
SAXReader sax = new SAXReader();//创建一个SAXReader对象
File xmlFile = new File("E:\\test\\test.xml");//根据指定的路径创建file对象
System.out.println(xmlFile);
Document document = sax.read(xmlFile);//获取document对象,如果文档无节点,则会抛出Exception提前结束
Element root = document.getRootElement();//获取根节点
System.out.println(root.getName());
getNodes(root);
} catch (Exception e) {
}
}
public static void getNodes(Element root) {
System.out.println("--------------------");
//当前节点的名称、文本内容和属性
System.out.println("当前节点名称:" + root.getName());//当前节点名称
System.out.println("当前节点的内容:" + root.getTextTrim());//当前节点名称
//获取根节点下面的所有子节点(不包过子节点的子节点)
List<Element> list = root.elements();
//遍历List的方法
for (Element e : list) {
if ("".equals(e.getTextTrim())) {
getNodes(e);
} else {
System.out.println("节点名称:" + e.getName() + " 属性值:" + e.getTextTrim());
}
}
}
}
test.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<user>
<name>张三</name>
<year>24</year>
<sex>男</sex>
<hobby>
<hobby1>运动</hobby1>
<hobby2>听歌</hobby2>
</hobby>
</user>
<user>
<name>李四</name>
<year>24</year>
<sex>女</sex>
</user>
</root>
运行结果: