引入jar包
dom4j-1.6.1.jar
創建xml文件
<?xml version="1.0" encoding="UTF-8"?>
<books><book id="1"><title ID="t1">背影</title><price>88</price><author>三毛</author></book><book id="2"><title>天龍八部</title><price>99</price><author>金庸</author></book><book id="3"><title>鹿鼎記</title><price>108</price><author>金庸</author></book>
</books>
創建java文件
package com.test.xml;import java.io.InputStream;
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 ReadXml {public static void main(String[] args) {// TODO Auto-generated method stub//1.獲得xml文件的流對象(輸入流)InputStream iStream= ReadXml.class.getResourceAsStream("/Books.xml");//2.創建SAXReader解析器,讀取xml文件到dom文檔樹對象中SAXReader saxReader=new SAXReader();try {Document document= saxReader.read(iStream);//3.讀取dom樹中的節點//1)獲得跟節點Element root= document.getRootElement();//返回節點的名稱System.out.println(root.getName());List<Element> bookElements= root.elements();for(Element book:bookElements){System.out.println(book.getName());//根據節點的名稱找孩子節點Element title=book.element("title"); System.out.println(title.getText()); //獲得節點的內容//根據屬性的名稱找到屬性Attribute attribute= book.attribute("id");//輸出屬性的值System.out.println(attribute.getText());//輸出屬性的值方式2System.out.println(book.attributeValue("id"));}Element title=document.elementByID("t1");// id屬性名是大寫System.out.println(title.getText());} catch (DocumentException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
運行