我们现在的大多开发项目中都难免和服务器端打交道,交互的过程无非是数据输入和输出,当我们将接口要求的数据按照格式传输到服务器端后,就会得到服务器端返回的数据,在行业内数据大多会使用被普遍接受和采用的
XML
格式(也有不少使用
JSON
)来组织数据进行返回,当我们获得
XML
时就可以解析获得自己需要的数据,或许是操作结果,或许是需要展示的数据列表,在
Android
中主要有三种的
XML
解析方式分别是
SAX
、
DOM
、
PULL
。
DOM
的基本原理:
DOM
解析
XML
文件时,会将
XML
文件的所有内容读取到内存中,然后允许您使用
DOM API
遍历
XML
树、检索所需的数据。使用
DOM
操作
XML
的代码看起来比较直观,并且,在某些方面比基于
SAX
的实现更加简单。但是,因为
DOM
需要将
XML
文件的所有内容读取到内存中,所以内存的消耗比较大,特别对于运行
Android
的移动设备来说,因为设备的资源比较宝贵,所以建议还是采用
SAX
来解析
XML
文件,当然,如果
XML
文件的内容比较小采用
DOM
是可行的。
参考于http://dev.10086.cn/cmdn/wiki/index.php?doc-view-3343.html
用
SharedPreferences读取的也是
XML文件,只是
SharedPreferences将操作
XML文件的具体细节隐藏了。本节及实例
38中将揭开挡在我们面前的面纱,对操作
XML文件的内幕一探究竟。
虽然可以使用很多第三方的
jar包来操作
XML,但
Android SDK本身已经提供了操作
XML的类库,这就是
SAX。使用
SAX处理
XML需要一个
Handler对象,一般会使用一个
org.xml.sax.helpers.DefaultHandler的子类作为
Handler对象。
SAX技术在处理
XML文件时并不一次性把
XML文件装入内存,而是一边读一边解析。因此,这就需要处理如下
5个分析点,也可称为分析事件。
-
开始分析
XML文件。该分析点表示
SAX引擎刚开始处理
XML文件,还没有读取
XML文件中的内容。该分析点对应于
DefaultHandler类中的
startDocument事件方法。可以在该方法中做一些初始化的工作。
-
开始处理每一个
XML元素,也就是遇到
<product>、
<item>这样的起始标记。
SAX引擎每次扫描到新的
XML元素的起始标记时会触发这个分析事件,对应的事件方法是
startElement。在该方法中可以获得当前元素的名称,元素属性的相关信息。
-
处理完一个
XML元素,也就是遇到
</product>、
</item>这样的结束标记。该分析点对应的事件方法是
endElement。在该事件中可以获得当前处理完的元素的全部信息。
-
处理完
XML文件。如果
SAX引擎将整个
XML文件的内容都扫描完了,就到了这个分析点,该分析点对应的事件方法是
endDocument。该事件方法可能不是必需的,如果最后有一些收尾工作,如释放一些资源,可以在该方法中完成。
-
读取字符分析点。这是最重要的分析点。如果没有这个分析点,前
4个步的处理相当于白跑一遍,虽然读取了
XML文件中的所有内容,但并未保存这些内容。而这个分析点所对应的
characters事件方法的主要作用就是保存
SAX引擎读取的
XML文件中的内容。更准确地说是保存
XML元素的文本,也就是
<product>abc</product>中的
abc。
-
了解了
SAX引擎读取
XML文件的原理,使用起来就容易多了,读者在实例
38中将会看到如何将
XML文件转换成一个
Java对象。
更多内容请参考http://dev.10086.cn/cmdn/bbs/thread-34932-1-1.html
那么废话少说,代码附上!
- 大小: 26.2 KB
- 大小: 24 KB
分享到:
相关推荐
三种XML的解析方法,DOM SAX PULL程序例子代码,希望对您有帮助。
XML的三种常用解析方式
Java解析XML的三种方式 Ø Android中,解析Xml数据的三种方式: Ø 1、DOM(org.w3c.dom) Ø “文档对象模型”方式,解析完的Xml将生成一个树状结构的对象。 Ø 2、SAX(org.xml.sax) Ø SimpleAPI for XML,以事件的...
三种方式解析XML 提供创建XML方法 本地三种方式解析 网络三种方式解析 一共7个 需要的下 带文件编码识别 相当强大哦
pull,sax,dom,解析XML的例子:各一个
android解析XML总结(SAX、Pull、Dom三种方式),代码实现
提供了android中使用dom、pull、sax三种方式进行xml解析,xml文件放置在assets文件夹下,view绑定使用butterknife
android xml解析三种方式:DOM/SAX/PULL
1.xml文件代码 <?xml version=1.0 encoding=UTF-8 ?> <%@ page language=java contentType=text/xml; charset=UTF-8 pageEncoding=UTF-8%> <%@ taglib uri=...
android中xml的三种解析方式(DOM,SAX,PULL)
android 应用程序 做的 解析xml 用了三种技术 sax dom pull 三种解析xml的常用技术 另外还有一些怎么快速的让指定文件读取到xml文件中
使用环境eclipse4.8,jdk1.8 使用sax,pull,dom4j解析XML,对xml的简单解析,sax,pull,dom4j的简单使用
主要介绍了Android编程解析XML方法,结合实例形式详细分析了Android解析XML文件的常用方法与相关实现技巧,需要的朋友可以参考下
结合天气预报服务写的xml的DOM\pull\sax三种解析,分别对XML写出了三种解析办法,大家可以看看
XML解析有三种方式 1,DOM 通用性强,它会将XML文件的所有内容读取到内存中,然后使用DOM API遍历XML树、检索所需的数据; 优点:简单直观,但需要将文档读取到内存, 缺点:并不太适合移动设备; 2,SAX SAX是一...
Android XML解析 SAX DOM Pull 以person类为例进行解析,适合初学者学习
解析xml文件的三种方式,包括sax、pull、dom三种方式
XML(Extensible Markup Language)可拓展标记语言,它与HTML一样,都是SGML...在Android下有三种方式解析XML,分别为SAX、DOM、PULL;它们有各自的特点,在网络编程中会经常使用,根据实际情况选择哪一种解析方式。