- DOM解析
優(yōu)點:
1.XML樹在內(nèi)存中完整存儲,因此可以直接修改其數(shù)據(jù)和結構.
2.可以通過該解析器隨時訪問XML樹中的任何一個節(jié)點.
3.DOM解析器的API在使用上也相對比較簡單.
缺點:如果XML文檔體積比較大時,將文檔讀入內(nèi)存是非常消耗系統(tǒng)資源的.
使用場景:DOM 是用與平臺和語言無關的方式表示 XML 文檔的官方 W3C 標準.DOM 是以層次結構組織的節(jié)點的集合.這個層次結構允許開發(fā)人員在樹中尋找特定信息.分析該結構通常需要加載整個文檔和構造層次結構,然后才能進行任何工作.DOM是基于對象層次結構的. - SAX解析
優(yōu)點:
SAX 對內(nèi)存的要求比較低,因為它讓開發(fā)人員自己來決定所要處理的標簽.特別是當開發(fā)人員只需要處理文檔中所包含的部分數(shù)據(jù)時,SAX 這種擴展能力得到了更好的體現(xiàn).
缺點:
用SAX方式進行XML解析時,需要順序執(zhí)行,所以很難訪問到同一文檔中的不同數(shù)據(jù).此外,在基于該方式的解析編碼過程也相對復雜.
使用場景:
對于含有數(shù)據(jù)量十分巨大,而又不用對文檔的所有數(shù)據(jù)進行遍歷或者分析的時候,使用該方法十分有效.該方法不用將整個文檔讀入內(nèi)存,而只需讀取到程序所需的文檔標簽處即可. - Xmlpull解析
android SDK提供了xmlpull api,xmlpull和sax類似,是基于流(stream)操作文件,然后根據(jù)節(jié)點事件回調(diào)開發(fā)者編寫的處理程序.因為是基于流的處理,因此xmlpull和sax都比較節(jié)約內(nèi)存資源,不會象dom那樣要把所有節(jié)點以對橡樹的形式展現(xiàn)在內(nèi)存中.xmlpull比sax更簡明,而且不需要掃描完整個流.
android中有哪幾種解析xml的類,官方推薦哪種?以及它們的原理和區(qū)別
最后編輯于 :
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內(nèi)容
- 目錄 1. 定義 XML,即 extensible Markup Language ,是一種數(shù)據(jù)標記語言 & 傳輸...
- Java Web開發(fā)實戰(zhàn)經(jīng)典 在項目開發(fā)中,HTML的主要功能是進行數(shù)據(jù)展示,而要進行數(shù)據(jù)存儲結構的規(guī)范化就需要使...