今天学习了android解析Xml的三种方式——DOM、SAX以及XMLpull,这里对它们进行总结。
如果理解有误,欢迎指正 ^_*
一、DOM方式解析:
xml是先把xml文档都读到内存中,然后再用DOM API来访问树形结构,并获取数据。这个写起来很简单,但是很消耗内存。要是数据过大,手机不够牛逼,可能手机直接死机。
常用的DoM接口和类:
Document:该接口定义分析并创建DOM文档的一系列方法,它是文档树的根,是操作DOM的基础。
Element:该接口继承Node接口,提供了获取、修改XML元素名字和属性的方法。
Node:该接口提供处理并获取节点和子节点值的方法。
NodeList:提供获得节点个数和当前节点的方法。这样就可以迭代地访问各个节点。
DOMParser:该类是Apache的Xerces中的DOM解析器类,可直接解析XML文件。
二、SAX解析技术:
SAX的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。
常用的接口和类:
Attrbutes:用于得到属性的个数、名字和值。
DefaultHandler:它提供了这些接LI的缺省实现。在大多数情况下,为应用程序扩展DefaultHandler并覆盖相关的方法
三、XMLPull
XML pull提供了开始元素和结束元素。当某个元素开始时,我们可以调用parser.nextText0从XML文档中提取所有字符数据。当解释到一个文档结束时,自动生成EndDocument
事件。
常用的接口和类:
XmlPullParser:XML pull解析器是一个在XMLPULL VlAP1中提供了定义解析功能的接口。
XmlSerializer:它是一个接口,定义了XML信息集的序列。
XmlPullParserFactory:这个类用于在XMPULL V1 API中创建XML Pull解析器。
以下是源码:
写了一个解析接口然后分别用三个类来实现。当然还可以写成工具类的方式。
MainActivity:
接口:
DOM实现类:
SAX实现类:
Pull实现类:
Person测试类:
要读取的Person XML文件:
附源码下载地址:http://download.csdn.net/detail/badboy1110/3629850
不要资源分,希望大家能有收获。 ^_*
如果觉得有帮助,顺手给我个评论~~~~多谢~
分享到:
相关推荐
adroid解析XML三种方式——源码分析,DOM,SAX,Pull,
xml 三种解析方式dom,sax,dom4j 内涵jar包,xml我默认放在本地D盘的。 三种方式的代码,我自己看别人代码总结。
三种方式解析XML 提供创建XML方法 本地三种方式解析 网络三种方式解析 一共7个 需要的下 带文件编码识别 相当强大哦
本篇文章主要介绍了Android创建与解析XML(三)——详解Sax方式 ,这里整理了详细的代码,有需要的小伙伴可以参考下。
基于QT5 qt 处理XML的三种方式 dom sax xmlstream 5个小例子 参考https://blog.csdn.net/p942005405/article/details/79743221
Android 解析 XML 三种方法 SAX DOM,PULL;
提供了android中使用dom、pull、sax三种方式进行xml解析,xml文件放置在assets文件夹下,view绑定使用butterknife
android解析XML总结(SAX、Pull、Dom三种方式),代码实现
android中xml的三种解析方式(DOM,SAX,PULL)
NULL 博文链接:https://guangqiang.iteye.com/blog/1114978
XML解析四种解析方式 DOM SAX JDOM DOM4J
主要介绍了详解Android之解析XML文件三种方式,主要包括DOM,PULL,SAX,有兴趣的可以了解一下。
java学习笔记——使用DOM解析XML和使用SAX解析XML
Ø Android中,解析Xml数据的三种方式: Ø 1、DOM(org.w3c.dom) Ø “文档对象模型”方式,解析完的Xml将生成一个树状结构的对象。 Ø 2、SAX(org.xml.sax) Ø SimpleAPI for XML,以事件的形式通知程序,对Xml进行...
Android中解析xml的三种方式DOM SAX PULL,以及各自优缺点
一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml文件的实例
解析XML的dom、sax和dom4j的jar包。解析XML的dom、sax和dom4j的jar包。
JDK自带xml解析器dom+sax JDK自带xml解析器dom+sax JDK自带xml解析器dom+sax
android xml解析三种方式:DOM/SAX/PULL