股價:
5.36 美元(yuan) %認真做教育(yu) 專心(xin)促就業
【android中解析XML 屬性大全】Android中有哪幾種解析xml的類,官方推薦哪種?以及它們的原理和區別,達內android培訓技術專(zhuan)家整理。
方式一:DOM解析
優點:
1、XML樹在(zai)內(nei)存(cun)中(zhong)完整存(cun)儲,因此可以直接修改其數(shu)據(ju)和結(jie)構。
2、可以通過(guo)該解析(xi)器隨時訪問XML樹中的任何一個節點。
3、DOM解析器的API在使用上也(ye)相對比較(jiao)簡單。
缺點:
如果XML文檔體積比較(jiao)大(da)時,將文檔讀入內存是(shi)非常(chang)消耗系統(tong)資(zi)源的(de)。
使用場景:
DOM是(shi)用與平臺和(he)語言無(wu)關的(de)方(fang)式表示XML文檔的(de)官(guan)方(fang)W3C標準。DOM是(shi)以層(ceng)(ceng)(ceng)次結(jie)(jie)構組織的(de)節(jie)點的(de)集合。這個層(ceng)(ceng)(ceng)次結(jie)(jie)構允許(xu)開(kai)發(fa)人員在樹中尋(xun)找特(te)定(ding)信息。分析該結(jie)(jie)構通常需要加載整個文檔和(he)構造層(ceng)(ceng)(ceng)次結(jie)(jie)構,然(ran)后才能進行任何工作。DOM是(shi)基于(yu)對象層(ceng)(ceng)(ceng)次結(jie)(jie)構的(de)。
方式二:SAX解析
優點:
SAX對內存的(de)要求比較低,因為它讓開發人(ren)員自(zi)己來(lai)決(jue)定所要處(chu)理的(de)標簽。特別(bie)是當開發人(ren)員只需要處(chu)理文檔中所包含的(de)部分數(shu)據(ju)時,SAX這種擴展(zhan)能力得到了(le)更好的(de)體現(xian)。
缺點:
用SAX方式進(jin)行XML解(jie)析時,需要順序執行,所以很難(nan)訪問(wen)到同一文檔中(zhong)的(de)(de)不同數據。此外,在基于(yu)該(gai)方式的(de)(de)解(jie)析編(bian)碼(ma)過程也(ye)相對復(fu)雜(za)。
使用場景:
對于含(han)有數(shu)(shu)據量(liang)十分巨(ju)大(da),而又不用(yong)對文(wen)檔(dang)的(de)(de)所有數(shu)(shu)據進(jin)行遍歷或者分析的(de)(de)時候,使用(yong)該方法(fa)十分有效(xiao)。該方法(fa)不用(yong)將整個文(wen)檔(dang)讀入內存,而只需讀取到程序所需的(de)(de)文(wen)檔(dang)標簽處即可。
方式三:Xmlpull解析
AndroidSDK提供了xmlpullapi,xmlpull和sax類似(si),是基(ji)于流(stream)操作文件,然后(hou)根據節(jie)點(dian)(dian)事(shi)件回調開發者(zhe)編寫的處(chu)理程序(xu)。因為是基(ji)于流的處(chu)理,因此xmlpull和sax都比較節(jie)約內(nei)(nei)存資源,不會(hui)象dom那樣要把所有(you)節(jie)點(dian)(dian)以對(dui)橡樹的形式(shi)展現在(zai)內(nei)(nei)存中。
xmlpull比(bi)sax更簡明,而且不需要掃描完(wan)整個流。
相關android中解析XML以及androidxml屬性大全的內容就先介紹奧這里,如果還有其他疑問的話,請繼續關注達內官網,我們隨(sui)時為(wei)您整(zheng)理更多(duo)android信息。
【免(mian)責聲明】本(ben)文部分(fen)系(xi)轉載,轉載目的(de)在于傳遞更(geng)多信(xin)息,并(bing)不代表本(ben)網贊同其(qi)觀(guan)點(dian)和對其(qi)真實性負責。如涉及作品(pin)內(nei)容、版權(quan)(quan)和其(qi)它問題(ti),請在30日內(nei)與聯系(xi)我們,我們會予(yu)以更(geng)改(gai)或刪除相關文章,以保證(zheng)您的(de)權(quan)(quan)益!