您的位置:首页 > 其它

Dom4j解析xml文件(入门)

2016-07-30 13:17 375 查看
准备依赖的jar包:



需要访问的xml文件

<?xml version="1.0" encoding="utf-8"?>
<contactList>
<contact id="001">
<name>张三</name>
<age>20</age>
<phone>111111111111</phone>
<email>zhangsan@qq.com</email>
<qq>122321111</qq>
</contact>
<contact id="002">
<name>李四</name>
<age>20</age>
<phone>2222222222222</phone>
<email>lisi@qq.com</email>
<qq>233345432</qq>
</contact>
</contactList>
1.获得根标签的标签名:

@Test
public static void readXml(){

try {
SAXReader reader=new SAXReader();
Document doc=reader.read("./src/contact.xml");
Iterator<Node> it=doc.nodeIterator();
while(it.hasNext()){
Node node=it.next();
String name=node.getName();
System.out.println(name);
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new RuntimeException();
}
}
测试结果:

contactList

---------------------------------------------------------------------------------------------------------------------------

2.获得标签下的文本:

@Test
public static void getRootText(){

try {
SAXReader reader=new SAXReader();
Document doc=reader.read("./src/contact.xml");
List<Element> list=doc.getRootElement().element("contact").elements();
for(Element elem:list){
System.out.println(elem.getText());
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
测试结果:

张三

20

111111111111

zhangsan@qq.com

122321111

-------------------------------------------------------------------------------------------------------------------------

DOM解析原理分析:

实际上解析原理就是通过SAXReader去调用解析器,xml解析器就把xml文件加载进内存,然后在内存中构建一个Document对象树,通过Document对象进行操作,如获取根节点及节点属性等等。从而达到解析xml文件的目的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: