//遍历节点
public static void ListElement() throws Exception{
//创建解析器工厂
//根据解析器工厂创建解析器
//解析xml 返回document
/*
* 使用递归实现
* 得到根节点
* 得到根节点子节点
* 得到根节点子节点的子节点
*/
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder dbr = dbf.newDocumentBuilder();
Document dt = dbr.parse("src/person.xml");
List1(dt);
}
//递归循环方法
private static void List1(Node node) {
if(node.getNodeType() == Node.ELEMENT_NODE) {
System.out.println(node.getNodeName());
}
NodeList list = node.getChildNodes();
//遍历list
for(int i=0; i<list.getLength(); i++) {
//得到每一个子节点
Node node1 = list.item(i);
//继续得到一个子节点
List1(node1);
}
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?><person>
<p1>
<name>zhangsan</name>
<age>20</age>
</p1>
<p1>
<name>lisi</name>
<age>30</age>
</p1>
</person>