各種解析xml方式的效率比較

2021-08-27 16:29:24 字數 689 閱讀 6375

**: 方式

模型原理

說明1說明2

tree-based api

domjdom dom4j

把xml檔案讀入,變成dom模型的一棵樹,然後查詢獲取自己想要的東西

xml檔案很大時會占用很大記憶體。

即速度慢,占用記憶體大

event-based api

push: sax

sax只能讀xml檔案。速度比dom快,但仍不理想

xml檔案很大時,又不需要進行隨機查詢的時候,適合採用此方式

pull:stax

sax不但能讀xml還能寫xml。速度很快

這裡,sax和stax的另外一點區別是: sax只能讀xml檔案. stax不但能讀xml檔案,而且還能寫xml檔案.

傳統的處理xml的api有dom和sax兩種,dom速度慢,占用記憶體極大。sax雖然比dom快,但速度任不理想。現在,一種新的基於流的 stream api for xml(簡稱 stax)極大地提高了xml的處理速度,並且已經稱為jsr 173標準(目前,stax最好的開源實現是woodstox(它完整地支援stax api。resin3.1也內建了stax的實現,但是並沒有支援所以的stax api。xfire在classpath上如果找到了stax api的定義,就會試圖定位乙個stax的實現。

===================

參考:

javaAPI解析XML檔案方法效率比較

兩種解析方式 1 dom document object model 文件物件模型 關鍵字 樹 document 優點 把xml檔案在記憶體中構造樹形結構,可以遍歷和修改節點 缺點 如果檔案比較大,記憶體有壓力,解析的時間會比較長 2 sax api for xml 基於xml的簡單api 關鍵字 ...

XML解析方式

在開發中編寫xml檔案中,有些內容不想讓xml解析器解析執行,而是當作原始內容處理,遇到此種情況,可以將這些內容放在 cdata 區域內,對於 cdata 區域內的內容,xml解析器不會進行處理,而是原封不動的輸出。語法 需要處理的內容 xml約束 約束 xml結構的條約 常用的約束技術 dtd約束...

解析XML檔案(SAX方式解析XML)

解析xml檔案 sax方式解析xml 對xml檔案解析有四種方法 dom sax jdom dom4j 現著重講一下sax解析xml檔案。1 通過一定的方式獲取檔名 獲得檔案路徑 string xmlfilepath ticanserviceaccess.getsystemsupportservic...