dom4j和jaxp解析工具的

2021-09-06 17:43:18 字數 1249 閱讀 1323

dom4j解析中的幾個物件

node

--branch

--document 

--element

--commment 

--attribute

--text

branch

--document

--element

jaxp解析中的幾個物件

node

--document

--element

--commment

--attr

--text

dom4j解析

中全部物件都是node物件的子節點,也就是說它把說有物件都單獨分離出來看成乙個物件,而branch是乙個對經常使用節點的封裝和關聯,如element物件就包括了有attribute物件和text物件,而document物件就封裝了全部節點物件

jaxp的dom解析

jaxp的dom解析方式沒有branch節點,沒有將各個節點進行封裝,全部操作的都是node節點;

並且由於節點間沒有關聯屬性,所以在建立節點後須要進行關聯,刪除節點時須要找父節點

細節:node的節點沒有獲得attribute的方法,僅僅有element才有獲得attribute的方法

dom4j解析,

jaxp的dom解析的共同點

1.通過依據條件查詢後的結果都是乙個list集合

2.改動text或textcontent時既能夠用node也能夠用element

xml文件解析方式有兩種dom和sax,經常使用開發工具有兩種jaxp,dom4j

jaxp:將兩種解析方法分開了,dom解析和sax解析,sax解析方法沒有寫方法

dom4j:把兩種解析方式結合起來,取檔案時採用sax解析,寫檔案時採用dom解析,繼承了兩種解析方式的長處

關於sax解析:

sax解析事實上也是把文件載入進記憶體中,可是這個快取區僅僅有3m左右的大小(能夠用乙個大文件,然後列印characters方法中的start值觀察),假設文件非常小,所有載入進記憶體,假設文件非常大,快取區慢後會自己主動清空快取區,繼續載入興許資料,這個快取陣列就是characters()方法引數列表中的ch。

也就是說,假設要讀取乙個小文件,僅僅須要複寫這乙個方法就能夠了,然後將字元陣列轉成字串列印就能夠了,或者依據角標取響應的資料。

public void characters(char ch, int start, int length)

然後文件的讀取事實上就相當於io流中的指標移動

採用dom4j解析xml工具

在實際的開發中,我們通常會設計到xml檔案的解析,其中dom4j就是乙個不錯的選擇.dom4j的效能和易用性方面都是屈指可數的.為了更加方便使用dom4j解析xml檔案,本人寫出了乙個xml的解析工具類,從更大粒度上支援xml檔案的解析.該工具支援萬用字元號,應該算的上是乙個很方便和功能強健的類.a...

Xml程式設計 Dom4j解析工具

建立解析器 saxreader reader new saxreader 利用解析器讀入xml文件 document document reader.read new file input.xml 獲取文件的根節點 element root document.getrootelement 介面繼承結...

xml之DOM方式解析,DOM4J工具解析原理

dom解析原理 dom解析原理 xml解析器一次性把整個xml文件載入進記憶體,然後在記憶體中構建一顆document的物件樹,通過document物件,得到樹上的節點物件,通過節點物件訪問 操作 到xml文件的內容。一張圖來完全概括這個原理。而dom4j原理是dom方式解析的,下面介紹dom4j ...