常見的xml解析有三種方式
SAX解析XML文件
優點:解析快速,佔用內存少
解析方式:採用事件驅動的解析方式,就是說先判斷是否符合xml的語法格式,是,那就開始按照內容順序解析(逐行解析)
DOM解析XML文件
優點;使用DOM解析xml代碼看起來較爲直觀,在某些方面比基於SAX的實現更爲簡單
缺點:消耗內存大,對於Android的移動設備都是資源比較寶貴的來說,有點太消耗了
解析方式:先將所有的內容讀到內存中,然後允許你使用DOMApi遍歷解析
PULL解析XML文件
優點:AndroidSDK中已經集成了PULL解析器,無需添加任何jar文件,Android系統中推薦使用Pull
Android系統內部解析xml文件都是基於此種方式
SAX和Pull的區別:
解析方式:
SAX解析器的工作方式是自動將事件推入事件處理器進行處理,因此你不能控制事件的處理主動結束
Pull解析器的工作方式爲允許你的應用程序代碼主動從解析器中獲取事件,正因爲是主動獲取事件,因此可以在滿足了需要的條件後不再獲取事件,結束解析。