XML的兩種解析方式Dom和SAX的區別

2021-09-01 13:15:29 字數 472 閱讀 3229

dom和sax是應用中操縱xml文件的兩種主要api,它們分別解釋如下:

dom,即document object model,中文叫文件物件模型。dom是w3c定義的標準文件物件模型,是乙個與作業系統和程式語言無關的、用於記憶體儲存和操作層次化文件的模型。當按 照dom模型解析xml文件時,就會在記憶體中構造乙個對應的dom樹,它可以用於不同節點之間的遍歷。然而,在遍歷之前必須先完成dom樹的構造。因此, 在處理規模較大的xml文件時就很耗記憶體,占用資源較多。尤其是只需要操作文件中一小部分時效率很低。

sax,即****** api for xml的簡稱,中文叫xml簡單應用程式介面。它是乙個事實上的標準。與dom不同的是,它是用事件驅動模型。解析xml文件時每遇到乙個開始或者結束標 籤、或者屬性、或者一條指令時,程式就產生乙個事件來進行相應的處理。所以在操作文件之前不需要對整個文件進行解析。實際上,文件的各個部分可以在進行解 析的同時進行操作。因此,sax相對於dom來說更適合操作大文件。

XML的兩種解析方式Dom和SAX的區別

dom和sax是應用中操縱xml文件的兩種主要api,它們分別解釋如下 dom,即document object model,中文叫文件物件模型。dom是w3c定義的標準文件物件模型,是乙個與作業系統和程式語言無關的 用於記憶體儲存和操作層次化文件的模型。當按照dom模型解析xml文件時,就會在記憶...

XML解析的兩種方式比較DOM與Sax

對於dom解析,首先是將整個xml文件讀到記憶體中,形成一顆倒狀的dom樹,如下圖 從上面的dom樹,我們應該很清楚dom的解析思想了 其實就是在我們的程式對xml進行操作之前,dom解析器就把整個文件讀取到記憶體中去了。知道了dom解析的思想後,我們對其方式進行的利弊進行一下分析 1 優點 a.能...

XML解析的兩種方式比較DOM與Sax

xml檔案 將整個xml資料轉換成乙個樹形物件 document物件 將xml中的標籤,屬性,文字都作為乙個結點物件 在解析xml的時候,先將整個xml一次性讀入到記憶體中,封裝成樹物件再進行操作 public class xmldemo dom方式解析的優點 由於所有的結點都在記憶體的docume...