日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

XML的四種解析器原理及性能比較(2)_Xml教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Java操作XML編程實(shí)例解析
XML作為全球通用的結(jié)構(gòu)化語(yǔ)言,越來(lái)越受人們青睞,各種開(kāi)發(fā)平臺(tái)(比如Microsoft Studio系列、Oracle系列、Inprise Borland系列等)也都把支持XML開(kāi)發(fā)作為宣傳口號(hào)之一。在許多項(xiàng)目中利用XML數(shù)據(jù)

  JDOM 與 DOM 主要有兩方面不同。首先,JDOM 僅使用具體類(lèi)而不使用接口。這在某些方面簡(jiǎn)化了 API,但是也限制了靈活性。第二,API 大量使用了 Collections 類(lèi),簡(jiǎn)化了那些已經(jīng)熟悉這些類(lèi)的 Java 開(kāi)發(fā)者的使用。

  JDOM 文檔聲明其目的是“使用 20%(或更少)的精力解決 80%(或更多)Java/XML 問(wèn)題”(根據(jù)學(xué)習(xí)曲線假定為 20%)。JDOM 對(duì)于大多數(shù) Java/XML 應(yīng)用程序來(lái)說(shuō)當(dāng)然是有用的,并且大多數(shù)開(kāi)發(fā)者發(fā)現(xiàn) API 比 DOM 容易理解得多。JDOM 還包括對(duì)程序行為的相當(dāng)廣泛檢查以防止用戶(hù)做任何在 XML 中無(wú)意義的事。然而,它仍需要您充分理解 XML 以便做一些超出基本的工作(或者甚至理解某些情況下的錯(cuò)誤)。這也許是比學(xué)習(xí) DOM 或 JDOM 接口都更有意義的工作。

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

  5: DOM4J

  雖然 DOM4J 代表了完全獨(dú)立的開(kāi)發(fā)結(jié)果,但最初,它是 JDOM 的一種智能分支。它合并了許多超出基本 XML 文檔表示的功能,包括集成的 XPath 支持、XML Schema 支持以及用于大文檔或流化文檔的基于事件的處理。它還提供了構(gòu)建文檔表示的選項(xiàng),它通過(guò) DOM4J API 和標(biāo)準(zhǔn) DOM 接口具有并行訪問(wèn)功能。從 2000 下半年開(kāi)始,它就一直處于開(kāi)發(fā)之中。

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

  在添加靈活性、XPath 集成和對(duì)大文檔處理的目標(biāo)時(shí),DOM4J 的目標(biāo)與 JDOM 是一樣的:針對(duì) Java 開(kāi)發(fā)者的易用性和直觀操作。它還致力于成為比 JDOM 更完整的解決方案,實(shí)現(xiàn)在本質(zhì)上處理所有 Java/XML 問(wèn)題的目標(biāo)。在完成該目標(biāo)時(shí),它比 JDOM 更少?gòu)?qiáng)調(diào)防止不正確的應(yīng)用程序行為。

  DOM4J 是一個(gè)非常非常優(yōu)秀的Java XML API,具有性能優(yōu)異、功能強(qiáng)大和極端易用使用的特點(diǎn),同時(shí)它也是一個(gè)開(kāi)放源代碼的軟件。如今你可以看到越來(lái)越多的 Java 軟件都在使用 DOM4J 來(lái)讀寫(xiě) XML,特別值得一提的是連 Sun 的 JAXM 也在用 DOM4J。

  6:總述

  JDOM 和 DOM 在性能測(cè)試時(shí)表現(xiàn)不佳,在測(cè)試 10M 文檔時(shí)內(nèi)存溢出。在小文檔情況下還值得考慮使用 DOM 和 JDOM。雖然 JDOM 的開(kāi)發(fā)者已經(jīng)說(shuō)明他們期望在正式發(fā)行版前專(zhuān)注性能問(wèn)題,但是從性能觀點(diǎn)來(lái)看,它確實(shí)沒(méi)有值得推薦之處。另外,DOM 仍是一個(gè)非常好的選擇。DOM 實(shí)現(xiàn)廣泛應(yīng)用于多種編程語(yǔ)言。它還是許多其它與 XML 相關(guān)的標(biāo)準(zhǔn)的基礎(chǔ),因?yàn)樗将@得 W3C 推薦(與基于非標(biāo)準(zhǔn)的 Java 模型相對(duì)),所以在某些類(lèi)型的項(xiàng)目中可能也需要它(如在 javascript 中使用 DOM)。

  SAX表現(xiàn)較好,這要依賴(lài)于它特定的解析方式。一個(gè) SAX 檢測(cè)即將到來(lái)的XML流,但并沒(méi)有載入到內(nèi)存(當(dāng)然當(dāng)XML流被讀入時(shí),會(huì)有部分文檔暫時(shí)隱藏在內(nèi)存中)。

  無(wú)疑,DOM4J是最好的,目前許多開(kāi)源項(xiàng)目中大量采用 DOM4J,例如大名鼎鼎的 Hibernate 也用 DOM4J 來(lái)讀取 XML 配置文件。如果不考慮可移植性,那就采用DOM4J吧!

分享:利用XSLT來(lái)?yè)QXML的根
寫(xiě)程序需要換XML的根,感覺(jué)很不便,于是寫(xiě)了一個(gè)函數(shù),大致思路及實(shí)現(xiàn)如下: 首先覺(jué)得利用XSLT還能過(guò)濾一些東西,然后再發(fā)送回客戶(hù)端,所以決定采用XSLT 然后就是嘗試寫(xiě)一個(gè)換根的XSL,如下

共2頁(yè)上一頁(yè)12下一頁(yè)
來(lái)源:模板無(wú)憂//所屬分類(lèi):Xml教程/更新時(shí)間:2008-08-22
相關(guān)Xml教程