For investors
股價(jià):
5.36 美元 %For investors
股價(jià):
5.36 美元 %認(rèn)真做教育 專心促就業(yè)
【android中解析XML androidxml屬性大全】Android中有哪幾種解析xml的類,官方推薦哪種?以及它們的原理和區(qū)別,達(dá)內(nèi)android培訓(xùn)技術(shù)專家整理。
方式一:DOM解析
優(yōu)點(diǎn):
1、XML樹(shù)在內(nèi)存中完整存儲(chǔ),因此可以直接修改其數(shù)據(jù)和結(jié)構(gòu)。
2、可以通過(guò)該解析器隨時(shí)訪問(wèn)XML樹(shù)中的任何一個(gè)節(jié)點(diǎn)。
3、DOM解析器的API在使用上也相對(duì)比較簡(jiǎn)單。
缺點(diǎn):
如果XML文檔體積比較大時(shí),將文檔讀入內(nèi)存是非常消耗系統(tǒng)資源的。
使用場(chǎng)景:
DOM是用與平臺(tái)和語(yǔ)言無(wú)關(guān)的方式表示XML文檔的官方W3C標(biāo)準(zhǔn)。DOM是以層次結(jié)構(gòu)組織的節(jié)點(diǎn)的集合。這個(gè)層次結(jié)構(gòu)允許開(kāi)發(fā)人員在樹(shù)中尋找特定信息。分析該結(jié)構(gòu)通常需要加載整個(gè)文檔和構(gòu)造層次結(jié)構(gòu),然后才能進(jìn)行任何工作。DOM是基于對(duì)象層次結(jié)構(gòu)的。
方式二:SAX解析
優(yōu)點(diǎn):
SAX對(duì)內(nèi)存的要求比較低,因?yàn)樗岄_(kāi)發(fā)人員自己來(lái)決定所要處理的標(biāo)簽。特別是當(dāng)開(kāi)發(fā)人員只需要處理文檔中所包含的部分?jǐn)?shù)據(jù)時(shí),SAX這種擴(kuò)展能力得到了更好的體現(xiàn)。
缺點(diǎn):
用SAX方式進(jìn)行XML解析時(shí),需要順序執(zhí)行,所以很難訪問(wèn)到同一文檔中的不同數(shù)據(jù)。此外,在基于該方式的解析編碼過(guò)程也相對(duì)復(fù)雜。
使用場(chǎng)景:
對(duì)于含有數(shù)據(jù)量十分巨大,而又不用對(duì)文檔的所有數(shù)據(jù)進(jìn)行遍歷或者分析的時(shí)候,使用該方法十分有效。該方法不用將整個(gè)文檔讀入內(nèi)存,而只需讀取到程序所需的文檔標(biāo)簽處即可。
方式三:Xmlpull解析
AndroidSDK提供了xmlpullapi,xmlpull和sax類似,是基于流(stream)操作文件,然后根據(jù)節(jié)點(diǎn)事件回調(diào)開(kāi)發(fā)者編寫(xiě)的處理程序。因?yàn)槭腔诹鞯奶幚?,因此xmlpull和sax都比較節(jié)約內(nèi)存資源,不會(huì)象dom那樣要把所有節(jié)點(diǎn)以對(duì)橡樹(shù)的形式展現(xiàn)在內(nèi)存中。
xmlpull比sax更簡(jiǎn)明,而且不需要掃描完整個(gè)流。
相關(guān)android中解析XML以及androidxml屬性大全的內(nèi)容就先介紹奧這里,如果還有其他疑問(wèn)的話,請(qǐng)繼續(xù)關(guān)注達(dá)內(nèi)官網(wǎng),我們隨時(shí)為您整理更多android信息。
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!