Android中XML解析-PULL解析
簡單回顧一下三種解析方式,Dom解析xml是先把xml文檔都讀到內(nèi)存中,然后再用DOM API來訪問樹形結(jié)構(gòu),并獲取數(shù)據(jù)。這個寫起來很簡單,但是很消耗內(nèi)存。要是數(shù)據(jù)過大,手機配置不行可能會死機。SAX解析是對文檔進行順序掃描,當(dāng)掃描到文檔(document)開始與結(jié)束、元素(element)開始與結(jié)束、文檔(document)結(jié)束等地方時通知事件處理函數(shù),由事件處理函數(shù)做相應(yīng)動作,然后繼續(xù)同樣的掃描,直至文檔結(jié)束。Pull解析器和SAX解析器很相似,但SAX解析器的工作方式是自動將事件推入注冊的事件處理器進行處理,因此你不能控制事件的處理主動結(jié)束;而Pull解析器的工作方式為允許你的應(yīng)用程序代碼主動從解析器中獲取事件,正因為是主動獲取事件,因此可以在滿足了需要的條件后不再獲取事件,結(jié)束解析。Pull的寫法確實很輕巧也很容易上手,個人比較喜歡Pull。
評論