日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

解析XML文件的幾種方式和區(qū)別

 昵稱22369024 2015-05-02
有兩種定義形式,dtd文檔類型定義和SchemaXML模式;
XML Schema 和DTD都用于文檔驗(yàn)證,但二者還有一定的區(qū)別,本質(zhì)區(qū)別是:Scheme本身是xml的,可以被XML解析器解析,這也是從DTD上發(fā)展Schema的根本目的。
另外,
XML Schema 是內(nèi)容開放模型,可擴(kuò)展,功能性強(qiáng),而DTD可擴(kuò)展性差。
XML Schema 支持豐富的數(shù)據(jù)類型,而 DTD不支持元素的數(shù)據(jù)類型,對屬性的類型定義也很有限。
XML Schema 支持命名空間機(jī)制,而DTD不支持。
XML Schema 可針對不同情況對整個XML 文檔或文檔局部進(jìn)行驗(yàn)證;而 DTD缺乏這種靈活性。
XML Schema 完全遵循XML規(guī)范,符合XML語法,可以和DOM結(jié)合使用,功能強(qiáng)大;而DTD 語法本身有自身的語法和要求,難以學(xué)習(xí)。


解析XML文件的幾種方式和區(qū)別

Dom解析 在內(nèi)存中創(chuàng)建一個DOM樹,該結(jié)構(gòu)通常需要加載整個文檔然后才能做工作。由于它是基于信息層次的,因而DOM被認(rèn)為是基于樹或基于對象的,樹在內(nèi)存中是持久的,因此可以修改它以便應(yīng)用程序能對數(shù)據(jù)和結(jié)構(gòu)作出更改能隨機(jī)訪問文件內(nèi)容,也可以修改原文件內(nèi)容.


SAX解析 SAX處理的優(yōu)點(diǎn)非常類似于流媒體的優(yōu)點(diǎn)。分析能夠立即開始,而不是等待所有的數(shù)據(jù)被處理。SAX解析器采用了基于事件的模型,它在解析XML文檔的時候可以觸發(fā)一系列的事件,當(dāng)發(fā)現(xiàn)給定的tag的時候,它可以激活一個回調(diào)方法,告訴該方法制定的標(biāo)簽已經(jīng)找到。而且,由于應(yīng)用程序只是在讀取數(shù)據(jù)時檢查數(shù)據(jù),因此不需要將數(shù)據(jù)存儲在內(nèi)存中。這對于大型文檔來說是個巨大的優(yōu)點(diǎn)線性解析,不能隨機(jī)訪問,也無法修改原文件

 

 JDOM解析 JDOM的目的是成為Java特定文檔模型,它簡化與XML的交互并且比使用DOM實(shí)現(xiàn)更快.JDOM僅使用具體類而不使用接口。這在某些方面簡化了API,但是也限制了靈活性。第二,API大量使用了Collections類,簡化了那些已經(jīng)熟悉這些類的Java開發(fā)者的使用。

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

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多