JavaWeb课程系列

4.dom4j解析

4.1简介

1)Dom4j是一个简单、灵活的开放源代码的库。Dom4j是由早期开发JDOM的人分离出来而后独立开发的。与JDOM不同的是,dom4j使用接口和抽象基类,虽然Dom4j的API相对要复杂一些,但它提供了比JDOM更好的灵活性。

2)Dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极易使用的特点。现在很多软件采用的Dom4j,例如Hibernate。使用Dom4j开发,需下载dom4j相应的jar文件。

4.2使用

dom4j解析xml文件主要有以下几个步骤:

1)导包,导包,导包,重要的事情说三遍!dom4j-1.6.1.jar

2)创建解析器,获取要解析的xml的文档对象,即document对象。

3)获取元素,进行操作。可操作属性,操作文本,获取元素信息等。

代码示例:

//1、创建saxreader对象

SAXReader reader = new SAXReader();

//2、读取xml文件,获得document对象

Document document = reader.read(new FileInputStream("web.xml"));

//3、获取到根元素,从根元素开始查找,修改

Element element = document.getRootElement();

//4、遍历所有元素

Iterator iterator = element.elementIterator();

while(iterator.hasNext()){

Element next = (Element) iterator.next();

System.out.println(next.getName()+"-->"+next.getText());

}

//5、获取element下的第一个子元素

/**

 * 查询都是使用根元素的element往下开始查询,一层一层的查

 * 各种元素查询的方法:

 * //获取某个元素的指定名称的第一个子节点

 * Element element = element.element(“书名");

 * //获取某个元素的指定名称的所有子元素的集合

 * List list = element.elements(“书名”);

 * //添加一个指定名称的子元素

 * Element childEle = parentEle.addElement(“书名”);

 * //删除某个元素指定的子元素  

 * parentEle.remove(childEle);

 */

Element element2 = element.element("servlet");

Element element3 = element2.element("servlet-name");

System.out.println(element3.getStringValue());