DOM&SAX優缺點對比


DOM(文檔對象模型),爲XML文檔的解析定義了一組接口,解析器讀入整個文檔,然後構造一個駐留內存的樹結構,然後代碼就可以使用DOM接口來操組整個樹結構,其他點如下:

優點:整個文檔樹都在內存當中,便於操作;支持刪除、修改、重新排列等多功能。 
缺點:將整個文檔調入內存(經常包含大量無用的節點),浪費時間和空間。 
使用場合:一旦解析了文檔還需要多次訪問這些數據,而且資源比較充足(如內存、CPU等)。 



SAX:

爲了解決DOM解析XML引起的這些問題,出現了SAX。SAX解析XML文檔爲事件驅動。當解析器發現元素開始、元素結束,文本、文檔的開始或者結束時,發送事件,在程序中編寫響應這些事件的代碼,其特點如下:

優點:不用事先調入整個文檔,佔用資源少。尤其在嵌入式環境中,極力推薦採用SAX進行解析XML文檔。 
缺點:不像DOM一樣將文檔長期駐留在內存,數據不是持久的,事件過後,如沒有保存數據,那麼數據就會丟失。 
使用場合:機器性能有限,尤其是在嵌入式環境,如Android,極力推薦採用SAX進行解析XML文檔。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章