簡體   English   中英

Dom解析器和Xerces Parser之間的區別

[英]Difference between Dom parser and Xerces Parser

嘿,任何人都可以告訴我,“Dom解析器”和“Xerces Parser”之間有什么區別。 兩者的優點和缺點是什么?

Xerces 一個DOM解析器。 它是Java或C ++中的Apache實現。

你想要考慮的兩個是SAX和DOM。 DOM在內存中創建一個對象樹; SAX沒有。 DOM完成解析后,您可以操作對象樹; SAX使用事件模型來動態處理XML。

無論是SAX還是DOM都會“起作用”。 您的選擇通常取決於您是否將其保留在內存中以對其進行操作或對其進行處理。 如果XML流是千兆字節,您可能無法一次性存儲它。 在這種情況下,SAX是一個不錯的選擇,因為您可以在解析時動態使用它。

谷歌是你的朋友:開始學習DOM4J和JDOM。

如果你正在編寫Java,我會推薦JDOM。 它處理了許多樣板材料。

有兩種方法可以在Xerces.viz SAX和DOM中解析xml文件。 SAX解析器:

  1. 基於事件的模型。
  2. 串行訪問(事件流)。
  3. 內存使用率低(僅生成事件)。
  4. 處理文檔的一部分(捕獲相關事件)。
  5. 僅處理文檔一次。
  6. 后向導航是不可能的,因為它順序處理文檔。
  7. 要創建對象。

DOM解析器:

  1. (基於對象)樹數據結構。
  2. 隨機訪問(內存數據結構)。
  3. 高內存使用率(文檔被加載到內存中)。
  4. 編輯文檔(處理內存中的數據結構)。
  5. 要多次處理(文檔加載到內存中)。
  6. 易於導航。
  7. 存儲為對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM