簡體   English   中英

DOM vs SAX Java

[英]DOM vs SAX Java

我有一個大的xml文件,可以從互聯網上下載。 為了解析它,我嘗試使用DOM解析器但是它不允許我跳過某些標記,因為它給了我一個錯誤。 有沒有解決的辦法? 如果我理解正確,SAX解析器允許您跳過標簽,而DOM則不允許。 有人可以澄清這個事實,好像就是這樣,我無法理解DOM解析器的優點是什么。 提前致謝。

DOM被設計為一種獨立於語言的對象模型,用於存放任何XML數據,因此是一個龐大而復雜的系統。 它非常適合首先加載XML文檔,然后對其執行各種操作的兩階段方法。 另一方面,SAX被設計為使用單相方法的相當輕量級的系統。 使用SAX,在加載文檔時執行用戶指定的操作。 一些應用程序使用SAX生成較小的對象模型,過濾掉不感興趣的信息,然后以類似於DOM的方式處理。 請注意,盡管DOM和SAX是眾所周知的“標准”XML API,但還有很多其他可用的API,有時使用非標准API可能會使特定應用程序更好。 使用XML,重要的一點始終是數據; 代碼可以重寫。

一些快速點:

  1. SAX比DOM快。
  2. SAX適用於大型文檔,因為它比Dom占用更少的內存。
  3. 當Dom需要更多時間時,SAX花費更少的時間來閱讀文檔。
  4. 使用SAX,我們可以訪問數據但我們無法修改數據。使用Dom我們可以修改數據。
  5. 我們可以隨時隨地停止SAX解析。
  6. SAX是順序解析,但是使用DOM我們也可以向后移動。
  7. 要解析機器生成的代碼SAX更好。要解析人類可讀的文檔,DOM很有用。

暫無
暫無

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

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