<?xml version="1.0" encoding="gb2312"?>
<books>
<book isbn="7506342605">
<name>《水浒传》</name>
<price>80</price>
<author>施耐庵</author>
<year>元末</year>
</book>
<book isbn="7020008720">
<name>《西游记》</name>
<price>90</price>
<author>吴承恩</author>
<year>明代</year>
</book>
<book isbn="7111103033">
<name>《三国演义》</name>
<price>75</price>
<author>罗贯中</author>
<year>元末</year>
</book>
<book isbn="7807074930">
<name>《红楼梦》</name>
<price>79</price>
<author>曹雪芹</author>
<year>清代</year>
</book>
</books>
package test;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 利用DOM4J解析XML文件
* @author 黑马_王康
*
*/
public class TestDOM4J {
public static void main(String args[]) {
long start = System.currentTimeMillis();
try {
// 取得SAX解析器
SAXReader reader = new SAXReader();
// 解析文件
File file = new File("src/books.xml");
Document doc = reader.read(file);
// 取得根节点
Element root = doc.getRootElement();
// 取得子节点列表
for (int i = 0; i < root.nodeCount(); i++) {
// 取得某一个子节点
Element book = (Element) root.node(i);
// 取得属性值
String isbn = book.attributeValue("isbn");
System.out.print(isbn);
String name = book.node(0).getText();
String price = book.node(1).getText();
String author = book.node(2).getText();
String year = book.node(3).getText();
System.out.print("\t" + name);
System.out.print("\t" + price);
System.out.print("\t" + author);
System.out.println("\t" + year);
}
} catch (Exception e) {
e.printStackTrace();
}
long end = System.currentTimeMillis();
System.out.println(end - start);
}
}