解析XML的幾種方式 DOM SAX PULL

2022-05-10 19:40:43 字數 994 閱讀 7378

解析器讀入整個文件,然後構建乙個主流記憶體的樹結構,然後**就可以使用dom介面來操作這個樹結構。

優點:缺點:

適用於: 一旦解析了文件還需多次訪問這些資料;硬體資源充足(記憶體,cpu)

dom解析步驟:

建立解析器工廠

獲得解析器工廠

接受乙個xml文件作為輸入引數名,並得到乙個xml的文件物件(document)

操作文件物件

sax是乙個解析速度快並且占用記憶體少的xml解析器,非常適合用於android等移動裝置。

sax解析xml是基於事件流的處理方式的。因此每解析到乙個標籤,它並不會記錄這個標籤之前的資訊,而我們只會知道當前這個標籤的名字和它的屬性,至於標籤裡面的巢狀,上層標籤的名字這些都是無法知道的。

sax的工作原理簡單的說,就是對文件進行順序掃瞄,掃瞄到文件(document)開始與結束,掃瞄到元素(element)開始、結束等地方時呼叫事件處理處理函式做相應動作,然後繼續掃瞄,直到文件結束。

sax解析xml最重要的步驟就是定義乙個我們自己的handler處理類,我們可以讓其繼承 defaulthandler這個類,然後在裡面重寫5個**方法。

sax特點:

sax解析過程:

pull解析器是android內建的解析器,解析原理與sax類似。

pull與sax的不同之處:

pull解析步驟:

建立解析器物件

xmlpullparser paser = xml.newpullparser();

進行解析

paser.setinput(input,"utf-8");

產生第乙個解析事件

int eventtype = paser.geteventtype();

可以使用迴圈判斷是否繼續解析

while(eventtype!=xmlpullparser.end_document){}

XML幾種解析方式

一 通過dom解析讀取檔案 documentbuilde ctory factory documentbuilde ctory.newinstance documentbuilder builder factory.newdocumentbuilder document doc builder.pa...

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...