XML文件解析——Dom、Pull、Sax的区别

来源:互联网 发布:c语言 eof 编辑:程序博客网 时间:2024/05/20 21:23

android解析XML文件通常有三种方式:DOM,SAX,Pull。

第一种是DOM,它的特点是一次性全部加载。在解析大文件时效率偏低。

它的工作方式是先定义一组接口,解析器读全部文档,然后构建一个倒置的内存树结构,之后通过这个接口遍历整个内存树进行解析。

解析步骤

1.      创建解析器工厂对象

2.      由解析器工厂创建解析器对象

3.      由解析器工厂对指定XML文件进行解析,构建相应DOM树

4.      DOM对象作为整个解析起点

5.      遍历DOM树

第二种是SAX

这种解析是一种基于事件驱动的API,由解析器和事件处理器构成。

解析器负责读取XML文档,同时向处理器发送事件。

事件处理器负责对解析器发送的事件响应和进行XML文档的处理

解析步骤

1. 继承DefaultHandler,并实现父类方法。

2. 创建解析器工厂

3. 获得解析器

4. 获得输入流

5. 使用输入流,调用事件处理器进行处理。

第三种Pull

pull是安卓默认解析器,解析原理和SAX类似。

两者不同之处在于

1. pull读取xml文件后触发相应事件调用方法返回的是数字.

2, pull可以在程序中控制,解析多少,解析内容完全由自己决定。

3. android默认pull解析,所以android推荐使用pull解析。

解析步骤

1.      创建解析器工厂

2.      创建解析器对象

3.      将解析器和XML流文件进行关联

4.      根据触发事件类型不同在解析的过程中获取不同的数据.


1 0
原创粉丝点击