public class Dom4jTest {
@Test
public void testDom4j(){
try {
String urlName = Thread.currentThread().getContextClassLoader().getResource("Test1.xml").toString();
System.out.println("urlName:"+urlName);
Document document = new SAXReader().read(urlName);
Element rootElement = document.getRootElement();
this.getNodes(rootElement);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void getNodes(Element node){
System.out.println("------------------");
System.out.println("当前节点名称:"+node.getName());
System.out.println("当前节点的内容:"+node.getTextTrim());
//当前节点所有属性的list
List<Attribute> list = node.attributes();
//遍历当前节点的所有属性
for (Attribute attribute : list) {
System.out.println("属性名称:"+attribute.getName()+"属性值:"+attribute.getValue());
}
//递归遍历当前节点所有的子节点
List<Element> listElement = node.elements();//所有一级子节点的list
for (Element e : listElement) {//遍历所有一级子节点
this.getNodes(e);//递归
}
}
}
src目录下:Test1.xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
<user editor="jack" date="2015-2-14">
<Name>SmithL</Name>
<Year>22</Year>
<Address>NewYork</Address>
</user>
<user editor="Wang" date="2015-2-14">
<Name>Hans</Name>
<Year>22</Year>
<Address>Beijing</Address>
</user>
</root>