可以使用SAX來查詢或者閱讀XML文檔。SAX可以快速掃描一個大型的XML文檔,當(dāng)它找到查詢標(biāo)準(zhǔn)時就會立即停止务蝠,然后再處理之。DOM是把XML全部加載到內(nèi)存中建立一棵樹之后再進(jìn)行處理烛缔。所以DOM不適合處理大型的XML【會產(chǎn)生內(nèi)存的急劇膨脹】请梢。
同理,DOM的弱項就是SAX的強項力穗,SAX不必把全部的xml都加載到內(nèi)存中毅弧。但是SAX的缺點也很明顯,它只能對文件順序解析一遍当窗,不支持對文件的隨意存取够坐。SAX也僅僅能夠讀取文件的內(nèi)容,并不能修改內(nèi)容崖面。DOM可以隨意修改文件樹元咙,從而修改了xml文件。
SAX和DOM的不同.jpg
上圖中描述了SAX和DOM的不同巫员。
SAX適于處理下面的問題:
1庶香、對大型文件進(jìn)行處理;
2简识、只需要文件夾的部分內(nèi)容赶掖,或者只需從文件中得到特定信息。
3七扰、想建立自己的對象模型的時候奢赂。
DOM適于處理下面的問題:
1、需要對文件進(jìn)行修改颈走;
2膳灶、需要隨機對文件進(jìn)行存取