推薦閱讀:阿里P8架構師談:工作1-5年的Java工程師,怎樣提高核心競爭力
阿里架構師直言:“沒有實戰都是紙上談兵”!Redis實戰PDF分享
這篇文章主要介紹了Java實現解析並生成xml原理實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
XML解析:
- * 解析xml可以做:
- * 如果xml作爲配置文件:讀取
- * 如果xml作爲傳輸文件:寫,讀
xml解析思想:
- * DOM:將文檔加載進內存,形成一顆dom樹(document對象),將文檔的各個組成部分封裝爲一些對象。
- * 優點:因爲,在內存中會形成dom樹,可以對dom樹進行增刪改查。
- * 缺點:dom樹非常佔內存,解析速度慢。
Document
Element
Text
Attribute
Comment
* SAX:逐行讀取,基於事件驅動
* 優點:不佔內存,速度快
* 缺點:只能讀取,不能回寫
xml常用的解析器:
- * JAXP:sun公司提供的解析。支持dom和sax。(不常用)
- * JDOM:
- * DOM4J:dom for java民間方式,但是是事實方式。非常好。 支持dom
1.導入jar包 dom4j.jar
2.創建解析器
SAXReader reader = new SAXReader();
3.解析xml 獲得document對象
Document document = reader.read(url);
- * XPATH:專門用於查詢
- * 定義了一種規則。
- * 使用的方法:
- * selectSingleNode():
- * selectNodes():
使用步驟:
1、注意:要導包 jaxen...jar
2、創建解析器
SAXReader reader = new SAXReader();
3、解析xml 獲得document對象
Document document = reader.read(url);
* 解析XML:
// 1、得到某個具體的節點內容:第2本書的書名--》葵花寶典
// 2、遍歷所有元素節點
XPath:
- // nodename 選取此節點。
- // / 從根節點選取。
- // // 從匹配選擇的當前節點選擇文檔中的節點,而不考慮它們的位置。
- // .. 選取當前節點的父節點。
- // @ 選取屬性。
- // [@屬性名] 屬性過濾
- // [標籤名] 子元素過濾
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|
以上就是本文的全部內容,希望對大家的學習有所幫助