原文链接:http://blog.csdn.net/liuhe688/article/details/6415593
Android下解析xml,最好的方式是PULL,在xml.java中就只有一个 newPullParser(),说明是推荐使用的。在系统源码里面也都广泛使用。简单方便内存下速度快。是介于Sax和Dom的中间方法。
附件中是Demo工程,详细内容请参考原文链接。
一.基础知识
通过前面的学习我们已经知道了Android上使用SAX和DOM方式解析XML的方法,并且对两种做了简单的比较,通过比较我们知道对在往往内存比较稀缺的移动设备上运行的Android系统来说,SAX是一种比较合适的XML解析方式。
但是SAX方式的特点是需要解析完整个文档才会返回,如果在一个XML文档中我们只需要前面一部分数据,但是使用SAX方式还是会对整个文档进行解析,尽管XML文档中后面的大部分数据我们其实都不需要解析,因此这样实际上就浪费了处理资源。
就以USGS的地震数据为例,USGS网上的这个数据是定时更新的,但是一次更新往往只更新前面几条地震数据,大部分数据还是相同的,因此我们在解析时可以在上一次解析的结果之上根据<updated>元素标签中的值解析前面几条比之前updated值更新的地震数据即可。但是如果使用SAX方式的话,每次还是都会解析整个XML文档,而这却浪费了处理器资源和延长了处理的时间。
不过Android系统还提供了另一种XML解析方式可以使你更好的处理这种情况,就是Pull方式解析XML数据。
Pull解析器和SAX解析器虽有区别但也有相似性。他们的区别为:SAX解析器的工作方式是自动将事件推入注册的事件处理器进行处理,因此你不能控制事件的处理主动结束;而Pull解析器的工作方式为允许你的应用程序代码主动从解析器中获取事件,正因为是主动获取事件,因此可以在满足了需要的条件后不再获取事件,结束解析。这是他们主要的区别。
而他们的相似性在运行方式上,Pull解析器也提供了类似SAX的事件(开始文档START_DOCUMENT和结束文档END_DOCUMENT,开始元素START_TAG和结束元素END_TAG,遇到元素内容TEXT等),但需要调用next() 方法提取它们(主动提取事件)。
Android系统中和Pull方式相关的包为org.xmlpull.v1,在这个包中提供了Pull解析器的工厂类XmlPullParserFactory和Pull解析器XmlPullParser,XmlPullParserFactory实例调用newPullParser方法创建XmlPullParser解析器实例,接着XmlPullParser实例就可以调用getEventType()和next()等方法依次主动提取事件,并根据提取的事件类型进行相应的逻辑处理。
相关推荐
android下解析xml文件的demo
Android 获取系统内存、保存解析xml demo Android 获取系统内存、保存解析xml demo
把需要的xml解析技术做了个总结,结构清晰,适合初学者
android json与xml解析 例子 demo 包含Json和xml解析 其中json包括解析带数组的和不带数组的; xml包括DOM解析和SAX解析
Android用DefaultHandler解析XML的Demo
XML解析之SAX解析DEMO,之前在播控上有介绍,但是代码排版太乱了,这个就是Android4.0网络编程中的SAX解析例子。
android解析xml例子,包含SAM、DOM、PULL三种解析方式Demo
Android中SAX解析XML的demo
在Android平台上可以使用Simple?API?for XML(SAX) 、 Document Object Model(DOM)和Android附带的pull解析器解析XML文件
包含 dom pull sax 三种解析XML的方法,源码运行可跑,方法简单易懂
android 四种xml解析,sax解析是最常用的解析方式,也是常用到的方法!
XML解析有三种方式 1,DOM 通用性强,它会将XML文件的所有内容读取到内存中,然后使用DOM API遍历XML树、检索所需的数据;...Android自带的XML解析器,和SAX基本类似,也是事件驱动,不同的是PULL事件返回的是数值型
android中用sax解析xml模板的demo源码,解压出来将解析类导入其他工程就可用了不必再写了.
Android解析XML格式数据的三种方法 XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向大家介绍一下在Android平台下几种常见的...
Android 官方的pull解析XmlDemo 1. 选择解析器 Choose a Parser 官方推荐XmlPullParser,其在android中对XML的解析是高效且可维护的。android已经拥有该接口的两个实现: KXmlParser,通过XmlPullParserFactory....
Android->Xml解析Demo
android中利用sax框架模型实现xml文件解析Demo
使用android内置的pull解析器解析xml,演示了取节点名称、取节点属性值以及取节点下文本的方式,并根据节点名称通过反射取类中的变量的值
Android studio XML pull解析超详细说明,文章地址:http://blog.csdn.net/sinat_29398599/article/details/52785930