- 论坛徽章:
- 0
|
Android110510: xmlpull注记
Email: zcatt@163.com Blog http://zcatt.blog.chinaunix.net 内容提要 xmlpull及kxml2简记.以供备忘和参考。
声明 仅限学习交流,禁止商业用途。转载需注明出处。
版本记录 Date Ver Note 2011-05-10 0.1 Draft. zcatt, Beijing
android用到xmlpull完成对xml的处理, 尤其是对位于发布包中xml文件的解析读取.
XML的处理可以分为两种模式, 第一种是基于树存储表达的DOM方式, 第二种是基于event驱动的流模式. DOM方式功能完备但资源开销大. 流模式资源开销小但功能通常简洁. 特别stream方式通常验证和纠错能力支持不足.
xmpull属于第二种, 其中的'pull'相对与push而言, 'pull'表征的是调用者是从xml parser中自己'拉'(读取)分析结果, 调用者处于主动者地位.
xmlpull由5个文件组成. XmlPullParserFactory.java实现是一个factory类, 支持生成XmlPullParser对象和XmlSerializer对象. XmlPullParserException.java实现了一个exception. 剩下两个文件:
XmlPullParser.java 定义xml parser接口, 用于解析xml文件. 是xml的输入处理.
XmlSerializer.java 定义xml serializer接口, 用于生成xml文件. 是xml的输出处理.
Android中默认使用kXML2具体实现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/
|
|