dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在哪个方面都是非常出色的。如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar包, Hibernate用它来读写配置文件。
下面给出例子简单的介绍下DOM4J方式解析xml文件的方法:
xml文件:first.xml,放于src目录下
DOM4J jar包下载: http://download.csdn.net/detail/u011250851/7108733
<?xml version="1.0" encoding="UTF-8"?>
<xml-body>
<value>
<no>
鲁B1234
</no>
<addr>
山东省青岛市
</addr>
</value>
<value>
<no>
鲁A1234
</no>
<addr>
山东省济南市
</addr>
</value>
</xml-body>
package Test;
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class MyXmlReader_dom4j {
static long lasting = System.currentTimeMillis();
public static void main(String[] args){
try {
//使用SAX方式解析xml
SAXReader saxReader = new SAXReader();
//读取first.xml资源
Document doc = saxReader.read(new File("src/first.xml"));
//取得根节点
Element root = doc.getRootElement();
Element foo;
//遍历根节点的所有孩子节点
for (Iterator i = root.elementIterator(); i.hasNext();){
foo = (Element) i.next();
System.out.println("车牌号码:" + foo.elementText("no"));
System.out.println("车主地址:" + foo.elementText("addr"));
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("运行时间:" + (System.currentTimeMillis() - lasting) + "毫秒");
}
}
运行结果: