dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的
JavaXML API,具备性能优异、功能强大和极其易使用的特色,它的性能超过sun公司官方的dom技术,
同时它也是一个开放源代码的软件,能够在SourceForge上找到它。java
下载DOM4J的jar包,并导入到工程中dom
建立 SAXReader对象性能
SAXReader reader = new SAXReader();
经过read方法加载xml开放源代码
Document document = reader.read(new File("book.xml"));
获取根节点code
Element bookstore = document.getRootElement();
经过elementIterator方法获取迭代器xml
Iterator it = bookstore.elementIterator();
遍历迭代器,获取根节点下节点对象
while(it.hasNext()) Element book = (Element) it.next();
获取节点属性element
List<Attribute> attrs = book.attributes(); for(Attribute attr : attrs) { System.out.println("属性"+attr.getName()+":"+attr.getValue()); }
获取节点的子节点。
过程为重复5.6.7。get
下面是一个简单的小例子,说明一下使用过程及步骤。it
book.xml
<?xml version="1.0" encoding="UTF-8" ?> <bookstore> <book id="1"> <name>111</name> <author>222</author> </book> <book id="2"> <name>333</name> <author>444</author> </book> </bookstore>
DOM4J.java
package com.lpp.test; 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 DOM4J { public static void main(String[] args) { // TODO Auto-generated method stub //建立 SAXReader对象 SAXReader reader = new SAXReader(); try { //经过read方法加载xml Document document = reader.read(new File("book.xml")); //获取根节点 Element bookstore = document.getRootElement(); //经过elementIterator方法获取迭代器 Iterator it = bookstore.elementIterator(); //遍历迭代器,获取根节点下节点 while(it.hasNext()) { System.out.println("开始遍历"); Element book = (Element) it.next(); List<Attribute> attrs = book.attributes(); for(Attribute attr : attrs) { System.out.println("属性"+attr.getName()+":"+attr.getValue()); } Iterator it2 = book.elementIterator(); while (it2.hasNext()) { Element bookChild = (Element) it2.next(); System.out.println("节点"+bookChild.getName() + ":" + bookChild.getStringValue()); } System.out.println("结束遍历"); } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }