本系列文章對Java領域中常用的幾種操作XML的編程方式進行歸納,歸納的知識屬於基礎范疇,概括的不全面。主要通過實例操作方法進行演示,原理部分的講解甚少,如需請查閱詳細文檔資料。本文分為以下幾個部分:
(一)JAXP簡介
(二)使用DOM接口操作xml
(三)使用SAX接口操作xml
(四)使用dom4j方式操作xml
(五)使用StAX接口操作xml
(六)使用JAXB進行java對象和xml格式之間的相互轉換
(七)使用XPath對象查詢xml文檔
(一)JAXP簡介
JAXP(Java API for XML Processing)是Java XML程序設計的應用程序接口的簡稱,它提供解析、創建XML文檔的能力。包括JSR5(JAXP1.0)和JSR63(JAXP1.1和JAXP1.2)兩個規范。JAXP提供解析XML文檔能力的三種基本接口為:
DOM接口
SAX接口
StAX接口
1、開發實例環境准備:
使用w3cschool文檔的books.xml作為示例,如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 4 5 <bookstore> 6 7 8 9 <book category="COOKING"> 10 11 <title lang="en">Everyday Italian</title> 12 13 <author>Giada De Laurentiis</author> 14 15 <year>2005</year> 16 17 <price>30.00</price> 18 19 </book> 20 21 22 23 <book category="CHILDREN"> 24 25 <title lang="en">Harry Potter</title> 26 27 <author>J K. Rowling</author> 28 29 <year>2005</year> 30 31 <price>29.99</price> 32 33 </book> 34 35 36 37 <book category="WEB"> 38 39 <title lang="en">XQuery Kick Start</title> 40 41 <author>James McGovern</author> 42 43 <author>Per Bothner</author> 44 45 <author>Kurt Cagle</author> 46 47 <author>James Linn</author> 48 49 <author>Vaidyanathan Nagarajan</author> 50 51 <year>2003</year> 52 53 <price>49.99</price> 54 55 </book> 56 57 58 59 <book category="WEB"> 60 61 <title lang="en">Learning XML</title> 62 63 <author>Erik T. Ray</author> 64 65 <year>2003</year> 66 67 <price>39.95</price> 68 69 </book> 70 71 72 73 </bookstore>
2、使用的JDK版本為JDK1.8_102
3、使用Eclipse IDE開發