Chinaunix

标题: Android110510: xmlpull注记 [打印本页]

作者: zcatt    时间: 2011-12-21 08:41
标题: Android110510: xmlpull注记
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/
 
Locations of visitors to this page





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2