麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > XML > 正文

XML的四種解析器原理及性能比較

2024-09-05 20:54:02
字體:
來源:轉載
供稿:網友

JDOM 和 DOM 在性能測試時表現不佳,在測試 10M 文檔時內存溢出。在小文檔情況下還值得考慮使用 DOM 和 JDOM


  1: DOM

  DOM 是用與平臺和語言無關的方式表示 XML 文檔的官方 W3C 標準。DOM 是以層次結構組織的節點或信息片斷的集合。這個層次結構允許開發人員在樹中尋找特定信息。分析該結構通常需要加載整個文檔和構造層次結構,然后才能做任何工作。由于它是基于信息層次的,因而 DOM 被認為是基于樹或基于對象的。DOM 以及廣義的基于樹的處理具有幾個優點。

  首先,由于樹在內存中是持久的,因此可以修改它以便應用程序能對數據和結構作出更改。它還可以在任何時候在樹中上下導航,而不是像 SAX 那樣是一次性的處理。DOM 使用起來也要簡單得多。

  另一方面,對于特別大的文檔,解析和加載整個文檔可能很慢且很耗資源,因此使用其他手段來處理這樣的數據會更好。這些基于事件的模型,比如 SAX。

  2:SAX

  這種處理的優點非常類似于流媒體的優點。分析能夠立即開始,而不是等待所有的數據被處理。而且,由于應用程序只是在讀取數據時檢查數據,因此不需要將數據存儲在內存中。這對于大型文檔來說是個巨大的優點。事實上,應用程序甚至不必解析整個文檔;它可以在某個條件得到滿足時停止解析。一般來說,SAX 還比它的替代者 DOM 快許多。

  3:選擇 DOM 還是選擇 SAX ?

  對于需要自己編寫代碼來處理 XML 文檔的開發人員來說,選擇 DOM 還是 SAX 解析模型是一個非常重要的設計決策。

  DOM 采用建立樹形結構的方式訪問 XML 文檔,而 SAX 采用的事件模型。

  DOM 解析器把 XML 文檔轉化為一個包含其內容的樹,并可以對樹進行遍歷。用 DOM 解析模型的優點是編程容易,開發人員只需要調用建樹的指令,然后利用navigation APIs訪問所需的樹節點來完成任務。可以很容易的添加和修改樹中的元素。然而由于使用 DOM 解析器的時候需要處理整個 XML 文檔,所以對性能和內存的要求比較高,尤其是遇到很大的 XML 文件的時候。由于它的遍歷能力,DOM 解析器常用于 XML 文檔需要頻繁的改變的服務中。

  SAX 解析器采用了基于事件的模型,它在解析 XML 文檔的時候可以觸發一系列的事件,當發現給定的tag的時候,它可以激活一個回調方法,告訴該方法制定的標簽已經找到。SAX 對內存的要求通常會比較低,因為它讓開發人員自己來決定所要處理的tag。特別是當開發人員只需要處理文檔中所包含的部分數據時,SAX 這種擴展能力得到了更好的體現。但用 SAX 解析器的時候編碼工作會比較困難,而且很難同時訪問同一個文檔中的多處不同數據。

  4:JDOM

  JDOM的目的是成為 Java 特定文檔模型,它簡化與 XML 的交互并且比使用 DOM 實現更快。由于是第一個 Java 特定模型,JDOM 一直得到大力推廣和促進。正在考慮通過“Java 規范請求 JSR-102”將它最終用作“Java 標準擴展”。從 2000 年初就已經開始了 JDOM 開發。

共2頁上一頁12下一頁
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久久久久久大牛 | 羞羞视频一区 | 亚洲欧美国产高清va在线播放 | 国产免费让你躁在线视频 | 99国产精品国产免费观看 | 视频一区国产 | 精品一区二区三区中文字幕 | 欧美成人自拍 | 少妇的肉体k8经典 | 欧美精品一区二区三区在线播放 | 9丨九色丨国产 | 日韩精品二区 | 国产亚洲综合一区二区 | 成av人在线观看 | 欧美精品一区二区久久 | 欧美成人精品h版在线观看 国产一级淫片在线观看 | 成人不卡一区二区 | videos高潮| 欧美一区二区三区中文字幕 | 天天看成人免费毛片视频 | 多男操一女视频 | 2019天天干夜夜操 | 欧美伦交| 一区二区三区日本在线观看 | 亚洲午夜在线视频 | 2019天天干夜夜操 | 久久久无码精品亚洲日韩按摩 | 欧美激情精品久久久久久黑人 | 性猛aa久久久 | av免费在线网站 | 人人舔人人舔 | 久久久久久久久久亚洲精品 | 黄视频网址 | 777zyz色资源站在线观看 | 欧美成人福利 | 黄色免费不卡视频 | 一级黄色影片在线观看 | 狠狠干五月天 | 91成人免费在线观看 | 欧美精品电影一区二区 | 深夜网站在线观看 |