嗯,以前沒具體學習過XML相關知識,最近整理文檔,順便作個總結。java
本篇文章實現了Java讀取本地xml文件功能,使用dom4j實現。dom
dom4j-1.6.1.jar學習
位於src根目錄下:code
<?xml version="1.0" encoding="UTF-8" ?> <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">哈利波特</title> <author>J·K·羅琳</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
package books; import java.io.File; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class GetXML { public static void main(String[] args) { SAXReader saxReader = new SAXReader(); try { Document document = saxReader.read(new File("src/books.xml")); Element element = document.getRootElement(); //只獲取book元素下的內容 Iterator<Element> iterator = element.elementIterator("book"); while (iterator.hasNext()) { Element ele = iterator.next(); System.out.println("title: " + ele.elementText("title")); System.out.println("author: " + ele.elementText("author")); System.out.println("year: " + ele.elementText("year")); System.out.println("price: " + ele.elementText("price")); System.out.println("***************************"); } } catch (DocumentException e) { e.printStackTrace(); } } }
title: Everyday Italian author: Giada De Laurentiis year: 2005 price: 30.00 *************************** title: 哈利波特 author: J·K·羅琳 year: 2005 price: 29.99 *************************** title: Learning XML author: Erik T. Ray year: 2003 price: 39.95 ***************************