package cn.zdh.dom4j_read;
//利用dom4j查询标签
import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Demo2 {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("./src/contact.xml"));
//要对此文档进行操作,必须要先拿到文档的根目录。
Element rootEle = doc.getRootElement();
//根据指定名获取第一个子标签
Element elem1 = rootEle.element("contact");
//根据指定名,获取所有子标签,返回的是list集合
List<Element> list = rootEle.elements("contact");
//遍历list集合有三种方法
Iterator<Element> it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
//最常用的一种方法
for(Element ele:list){
System.out.println(ele);
}
//获取所有子标签,
List <Element>list2 = rootEle.elements();
for(Element ele:list2){
System.out.println(ele);
}
//得到第二个指定名的元素
Element ele2 = (Element) rootEle.elements("comtact").get(1);
System.out.println(ele2);
//获取孙标签的方法是用子标签再获取子标签,子子孙孙,无穷匮也
Element ele3 = rootEle.element("comtact").element("name");
System.out.println(ele3);
}
}
附上contact.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<contact_list>
<contact id="001">
<name>张三</name>
<gender>男</gender>
<phone>13411112222</phone>
<email>zhangsan@qq.com</email>
<address>河北石家庄</address>
</contact>
<contact id="002">
<name>李四</name>
<gender>女</gender>
<phone>13511112222</phone>
<email>lisi@qq.com</email>
<address>山东济南</address>
</contact>
<student>
</student>
</contact_list>

本文介绍了一个使用DOM4j库解析XML文件的Java示例。通过此示例,展示了如何读取XML文档,获取特定元素及属性,并遍历元素集合。该示例适用于希望了解如何使用DOM4j进行XML解析的开发者。

3740

被折叠的 条评论
为什么被折叠?



