日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较

發布時間:2023/12/15 asp.net 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

6月20日?XML的四種解析器(dom,sax,jdom,dom4j)原理及性能比較


?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 開發。

?

?  JDOM 與 DOM 主要有兩方面不同。首先,JDOM 僅使用具體類而不使用接口。這在某些方面簡化了 API,但是也限制了靈活性。第二,API 大量使用了 Collections 類,簡化了那些已經熟悉這些類的 Java 開發者的使用。

?

?  JDOM 文檔聲明其目的是“使用 20%(或更少)的精力解決 80%(或更多)Java/XML 問題”(根據學習曲線假定為 20%)。JDOM 對于大多數 Java/XML 應用程序來說當然是有用的,并且大多數開發者發現 API 比 DOM 容易理解得多。JDOM 還包括對程序行為的相當廣泛檢查以防止用戶做任何在 XML 中無意義的事。然而,它仍需要您充分理解 XML 以便做一些超出基本的工作(或者甚至理解某些情況下的錯誤)。這也許是比學習 DOM 或 JDOM 接口都更有意義的工作。

?

?  JDOM 自身不包含解析器。它通常使用 SAX2 解析器來解析和驗證輸入 XML 文檔(盡管它還可以將以前構造的 DOM 表示作為輸入)。它包含一些轉換器以將 JDOM 表示輸出成 SAX2 事件流、DOM 模型或 XML 文本文檔。JDOM 是在 Apache 許可證變體下發布的開放源碼。

?

?  5: DOM4J

?

?  雖然 DOM4J 代表了完全獨立的開發結果,但最初,它是 JDOM 的一種智能分支。它合并了許多超出基本 XML 文檔表示的功能,包括集成的 XPath 支持、XML Schema 支持以及用于大文檔或流化文檔的基于事件的處理。它還提供了構建文檔表示的選項,它通過 DOM4J API 和標準 DOM 接口具有并行訪問功能。從 2000 下半年開始,它就一直處于開發之中。

?

?  為支持所有這些功能,DOM4J 使用接口和抽象基本類方法。DOM4J 大量使用了 API 中的 Collections 類,但是在許多情況下,它還提供一些替代方法以允許更好的性能或更直接的編碼方法。直接好處是,雖然 DOM4J 付出了更復雜的 API 的代價,但是它提供了比 JDOM 大得多的靈活性。

?

?  在添加靈活性、XPath 集成和對大文檔處理的目標時,DOM4J 的目標與 JDOM 是一樣的:針對 Java 開發者的易用性和直觀操作。它還致力于成為比 JDOM 更完整的解決方案,實現在本質上處理所有 Java/XML 問題的目標。在完成該目標時,它比 JDOM 更少強調防止不正確的應用程序行為。

?

?  DOM4J 是一個非常非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟件。如今你可以看到越來越多的 Java 軟件都在使用 DOM4J 來讀寫 XML,特別值得一提的是連 Sun 的 JAXM 也在用 DOM4J。

?

?  6:總述

?

?  JDOM 和 DOM 在性能測試時表現不佳,在測試 10M 文檔時內存溢出。在小文檔情況下還值得考慮使用 DOM 和 JDOM。雖然 JDOM 的開發者已經說明他們期望在正式發行版前專注性能問題,但是從性能觀點來看,它確實沒有值得推薦之處。另外,DOM 仍是一個非常好的選擇。DOM 實現廣泛應用于多種編程語言。它還是許多其它與 XML 相關的標準的基礎,因為它正式獲得 W3C 推薦(與基于非標準的 Java 模型相對),所以在某些類型的項目中可能也需要它(如在 javascript 中使用 DOM)。

?

?  SAX表現較好,這要依賴于它特定的解析方式。一個 SAX 檢測即將到來的XML流,但并沒有載入到內存(當然當XML流被讀入時,會有部分文檔暫時隱藏在內存中)。

?

?  無疑,DOM4J是最好的,目前許多開源項目中大量采用 DOM4J,例如大名鼎鼎的 Hibernate 也用 DOM4J 來讀取 XML 配置文件。如果不考慮可移植性,那就采用DOM4J吧!

總結

以上是生活随笔為你收集整理的XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 视色视频在线观看 | 黄色最新网址 | 黄色av大片| 成人欧美一区二区 | 99热黄色| 日韩六十路 | 四虎影视国产精品 | 国产午夜伦鲁鲁 | 午夜性 | 国产精品日日做人人爱 | 尤物av无码色av无码 | 国产色在线观看 | 无码日韩人妻精品久久蜜桃 | 国产中文一区二区 | 福利视频在线免费观看 | 日韩精品――中文字幕 | 少妇一区二区三区四区 | 免费看特级毛片 | 欧美八区 | 狠狠鲁狠狠干 | 日本少妇三级 | 蜜臀视频网站 | 女优色图 | 日批视频免费 | 亚洲精品久久久久avwww潮水 | 女同一区二区三区 | 麻豆入口 | 欧美另类在线播放 | 成人精品动漫 | 久久综合九色综合欧美狠狠 | 成人午夜视频免费 | 夜夜嗨aⅴ一区二区三区 | 国产免费播放 | 亚洲av综合色区无码另类小说 | 欧美亚洲视频 | 欧美中文一区 | 毛片网站免费 | 超碰在线9 | 一级欧美一级日韩 | 自拍偷拍一区 | 一本大道久久a久久精二百 琪琪色在线视频 | 日本视频在线免费观看 | 夜色导航 | 亚洲啪啪| 韩国电影一区二区三区 | 国产91精品露脸国语对白 | 少妇精品导航 | 亚洲一区播放 | 一久久久久 | 国产69熟| 这里只有精品66 | 男女高h视频 | 精品亚洲成人 | 伊人av网| 日本中文字幕在线观看 | 国产五月天婷婷 | 国产精品91久久久 | 91在线视频免费看 | 亚洲高清不卡 | 精品孕妇一区二区三区 | 日韩在线欧美 | 鲁鲁狠狠狠7777一区二区 | 国产伦精品一区二区三区视频黑人 | 主人性调教le百合sm | 小俊大肉大捧一进一出好爽 | 伊人av在线播放 | 欧美午夜一区 | 野花av | 久久入口| 成熟女人毛片www免费版在线 | 四虎国产成人永久精品免费 | 亚洲欧美综合精品久久成人 | 一级做a在线观看 | 欧美一区二区三区粗大 | 久久www视频 | 日本黄色小视频 | 男人吃奶视频 | 久久亚洲精品国产精品黑人v | 日本后进式猛烈xx00动态图 | 中文字幕在线资源 | 成人亚洲一区二区 | 国内精品视频一区 | av美女在线 | 国产精品伦一区二区三级古装电影 | 不卡av片 | 欧美亚洲视频 | 国产又粗又大又爽视频 | 能看av的网站 | 午夜高潮| 美女被c出白浆 | 老头老太做爰xxx视频 | 91成人免费看 | 日本a级黄色 | 国产免费av观看 | 欧美日韩精品在线观看 | 亚洲无线看 | 国产suv精品一区二区6 | 韩国无码一区二区三区精品 | 天美视频在线观看 |