Android110510: xmlpull注記
Email: zcatt@163.com Blog http://zcatt.blog.chinaunix.net 內(nèi)容提要 xmlpull及kxml2簡記.以供備忘和參考。
聲明 僅限學(xué)習(xí)交流,禁止商業(yè)用途。轉(zhuǎn)載需注明出處。
版本記錄 Date Ver Note 2011-05-10 0.1 Draft. zcatt, Beijing
android用到xmlpull完成對xml的處理, 尤其是對位于發(fā)布包中xml文件的解析讀取.
XML的處理可以分為兩種模式, 第一種是基于樹存儲表達(dá)的DOM方式, 第二種是基于event驅(qū)動的流模式. DOM方式功能完備但資源開銷大. 流模式資源開銷小但功能通常簡潔. 特別stream方式通常驗證和糾錯能力支持不足.
xmpull屬于第二種, 其中的'pull'相對與push而言, 'pull'表征的是調(diào)用者是從xml parser中自己'拉'(讀取)分析結(jié)果, 調(diào)用者處于主動者地位.
xmlpull由5個文件組成. XmlPullParserFactory.java實現(xiàn)是一個factory類, 支持生成XmlPullParser對象和XmlSerializer對象. XmlPullParserException.java實現(xiàn)了一個exception. 剩下兩個文件:
XmlPullParser.java 定義xml parser接口, 用于解析xml文件. 是xml的輸入處理.
XmlSerializer.java 定義xml serializer接口, 用于生成xml文件. 是xml的輸出處理.
Android中默認(rèn)使用kXML2具體實現(xiàn)xmlpull的parser和serializer接口.
[1]中是一個XmlPull的不錯介紹, 可以參考.
參考 [1] The XMLPULL API, http://www.xml.com/pub/a/2002/08/14/xmlpull.html [2] XMLPULL org, http://www.xmlpull.org/ [3] kXML2, http://kxml.sourceforge.net/kxml2/ [3] XML 1.0, http://www.w3.org/TR/xml/
|