您的位置:首页 > 移动开发 > Android开发

Android中几种xml解析的比较

2016-04-18 21:53 411 查看
Andorid中xml解析方法有以下三种:DOM解析、SAX解析、还有Pull解析。今天我们就来比较一下几种解析方法的优缺点

DOM 解析

优点:

1.XML 树在内存中完整存储,因此可以直接修改其数据和结构.

2.可以通过该解析器随时访问XML 树中的任何一个节点.

3.DOM 解析器的API 在使用上也相对比较简单.

缺点:如果XML 文档体积比较大时,将文档读入内存是非常消耗系统资源的.

使用场景:DOM 是用与平台和语言无关的方式表示XML 文档的官方W3C 标准.DOM 是以层次结构组织的节点的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能进行任何工作.DOM 是基于对象层次结构的.

SAX 解析

优点:

SAX 对内存的要求比较低,因为它让开发人员自己来决定所要处理的标签.特别是当开发人员只需要处理文档中所包含的部分数据时,SAX 这种扩展能力得到了更好的体现.

缺点:

用SAX 方式进行XML 解析时,需要顺序执行,所以很难访问到同一文档中的不同数据.此外,在基于该方式的解析编码过程也相对复杂.

使用场景:

对于含有数据量十分巨大,而又不用对文档的所有数据进行遍历或者分析的时候,使用该方法十分有效.该方法不用将整个文档读入内存,而只需读取到程序所需的文档标签处即可.

pull 解析

android SDK 提供了xmlpull api,xmlpull 和sax 类似,是基于流(stream)操作文件,然后根据节点事件回调开发者编写的处理程序.因为是基于流的处理,因此xmlpull 和sax 都比较节约内存资源,不会象dom 那样要把所有节点以对橡树的形式展现在内存中.xmlpull 比sax 更简明,而且不需要扫描完整个流.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: