(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html)
八、Android学习第七天——XML文件解析方法
XML文件:extensible markup language
定义:用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
解析XML的方式:
- SAX——Simple API for XML,既是一种接口,也是一个软件包
采用的是事件驱动,也就是它解析XML文档并需要解析完整个文档,在解析过程中,它会判断解析出的当前字符是否符合XML中的某部分,如果符合则触发事件,如果不符合则触发相应的回调函数。此回调函数封装在ContentHandler接口中。。因为ContentHandler被实现后会被强制实现很多无用方法,故不用此接口,我们继承DefaultHandler类,因为其实现了ContentHandler中一部分我们需要的方法,省去了一些我们无用的方法哦。所以选择用这个。
缺点是,如果要使用它去添加或者删除一些内容会比较费劲的。 - DOM——Document Object Model
此种解析方式是把已知的XML文档全部载入到内存中,并将其存储为dom树,根据dom结点与子结点之间的关系来解析文件,如果文件过大的话,解析会很耗时而且很耗资源。
这里主要说明下SAX解析XML文件的过程:
(一)创建事件处理程序
(二)创建SAX解析器
(三)将事件处理程序分配给解析器
(四)对文档进行解析,将每个事件发送给处理程序