XML 中 DOM 和 SAX 的區(qū)別

可以使用SAX來查詢或者閱讀XML文檔。SAX可以快速掃描一個(gè)大型的XML文檔,當(dāng)它找到查詢標(biāo)準(zhǔn)時(shí)就會(huì)立即停止,然后再處理之。DOM是把XML全部加載到內(nèi)存中建立一棵樹之后再進(jìn)行處理。所以DOM不適合處理大型的XML【會(huì)產(chǎn)生內(nèi)存的急劇膨脹】。

同理,DOM的弱項(xiàng)就是SAX的強(qiáng)項(xiàng),SAX不必把全部的xml都加載到內(nèi)存中。但是SAX的缺點(diǎn)也很明顯,它只能對(duì)文件順序解析一遍,不支持對(duì)文件的隨意存取。SAX也僅僅能夠讀取文件的內(nèi)容,并不能修改內(nèi)容。DOM可以隨意修改文件樹,從而修改了xml文件。

SAX和DOM的不同.jpg

上圖中描述了SAX和DOM的不同。

SAX適于處理下面的問題:

1、對(duì)大型文件進(jìn)行處理;

2、只需要文件夾的部分內(nèi)容,或者只需從文件中得到特定信息。

3、想建立自己的對(duì)象模型的時(shí)候。

DOM適于處理下面的問題:

1、需要對(duì)文件進(jìn)行修改;

2、需要隨機(jī)對(duì)文件進(jìn)行存取

摘抄自:http://blog.csdn.net/imzoer/article/details/8032083

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評(píng)論 18 399
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,835評(píng)論 0 11
  • Java Web開發(fā)實(shí)戰(zhàn)經(jīng)典 在項(xiàng)目開發(fā)中,HTML的主要功能是進(jìn)行數(shù)據(jù)展示,而要進(jìn)行數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的規(guī)范化就需要使...
    年少懵懂丶流年夢(mèng)閱讀 1,671評(píng)論 0 9
  • xml解析 xml簡(jiǎn)介 XML(eXtended Markup Language,可擴(kuò)展標(biāo)記性語言),xml可以對(duì)...
    無止無盡閱讀 1,419評(píng)論 0 7
  • 起一次早床, 喝一杯溫水, 吃一份早餐, 洗一次碗筷, 看一下目標(biāo), 寫一個(gè)計(jì)劃。 這樣準(zhǔn)備, 還未出發(fā), 在等什么?
    小劇在成長(zhǎng)閱讀 193評(píng)論 0 5