Android创建与解析XML(六) 比较与使用

前面介绍了四种创建、解析XML的方式:

0、 Android 创建与解析XML(一)—— 概述

1、 Android 创建与 解析XML(二)—— Dom方式

2、 Android 创建与解析XML(三)—— Sax方式

3、 Android 创建与解析XML(四 )—— Pull方式

4、 Android 创建与解析XML(五)—— Dom4j方式

其中,从处理方式看,有的采用了Java处理 XML的标准方式,有的是经过第三方改进后的XML处理方式;从事件角度看,有的是基于Dom树节点,有的基于事件处理

为 什么创建、解析XML会产生这么多方法呢?四种处理方式的特点各是什么?它们分别更适合什么样的使用场景呢?

一、 XML 通用标准

XML 世界非常庞大,而且还在不断成长,存在大量不同的标准和技术,它们以复杂的方式互相影响。

XML 正在变得越来越强大,并且得到了迅速的发展,它已经证明自己是一种非常有价值的技术,但可能也是一种令人害 怕的技术,如果考虑到挂在“XML”一词下面不断变化的各个部分,新手很难确定哪些是 XML 最重要的方面,用户也难以跟踪这 个领域出现的新生事物和变化。

标准,有各种各样的形式,而且在同一个领域中常常有多种标准互相竞争,此处把标准 定义为:被不同的供应商大量采用的或者有影响的、独立于供应商的组织推荐的规范。

1) XML 1.0 ,W3C 推荐的标准 ,衍生出 XML 技术大树的主干。它在 Unicode [Unicode Consortium 技术报告和 ISO 标准]的基础上定义了文本格式的严格规 则,以及 DTD  (文档类型定义,Document Type Definition)验证语言。该规范的当前版本(第 2 版)包含了规范的历 次修订。它被 翻译成多种语言,尽管英语版本是唯一的规范版本,就是说只有这个版本被认为具有标准的效力。

2) XML 1.1 ,正在开发中,是改变了结构良好的 XML 文档的定义的第一个修订版。主要的变化是修订了 XML 规范中对字 符的处理,使其更自然地适应 Unicode 规范的变化,并通过引用 万维网字符模型(Character Model for the World Wide Web 1.0)[开发中],提供了不同 Unicode 版本字符的规范化。XML 1.1 还增加了行结束字符列表,新增加的 NEL 用于在 IBM 大型 机系统中表示行结束(EOL)。这种变化存在争议,有人认为对大型机用户带来的有限好处不值得做这种基础性的改变。还有一 些其他的争论,因为一些评论者发现所有的修改都太稳妥了,在 XML 版本变换中不会造成各种可能的互操作性问题。

XML 是基于 Standard Generalized Markup Language(标准通用标记语言,SGML)的,后者由 ISO 8879:1986 [ISO 标准] 定义。它在很大程度上简化了 SGML,包括一些调整使其更适合于 Web 环境。

二、 XML处理方式

大多数与XML 相 关的Java API 在Android 上得到了完全支持,在Android 上可以创建功能强大的移动应用程序,而在Android 上解析XML的技术 有三种DOM、SAX、PULL。

1) DOM 解析技术

DOM(Document Object Model,文档对象模型),Android 完全支持DOM 解析,利用DOM 中的对象,可以对XML 文档进行读 取、搜索、修改、添加和删除等操作。

使用DOM 对XML 文件进行操作时,首先要解析文件,将文件分为独立的元素、属 性和注释等,然后以节点树的形式在内存中对XML 文件进行表示,就可以通过节点树访问文档的内容,并根据需要修改文档—— 这就是DOM的工作原理。DOM 实现时首先为XML 文档的解析定义一组接口,解析器读入整个文档,然后构造一个驻留内存的树结 构,这样代码就可以使用DOM接口来操作整个树结构。

DOM 解析流程:

时间: 2024-11-08 17:25:27

Android创建与解析XML(六) 比较与使用的相关文章

Android 创建与解析XML(四)——详解Pull方式_Android

 1.Pull概述 Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 XmlSerializer,还提供了用来解析XML的Pull方式解析器 XmlPullParser XmlSerializer没有像XmlPullParser那样提取XML事件,而是把它们推出到数据流OutputStream或Writer中. XmlSerializer提供了很直观的API,即使用startDocument开始文档,endDocument结束文档,st

Android 创建与解析XML(五)——详解Dom4j方式_Android

1.Dom4j概述 dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP. dom4j官方网址:dom4j  dom4j源码下载:dom4j download 本示例中,需要导入dom4

Android创建与解析XML(三)——详解Sax方式_Android

1. Sax概述 SAX是一种占用内存少且解析速度快的解析器,它采用的是事件启动,不需要解析完整个文档,而是按照内容顺序看文档某个部分是否符合xml语法,如果符合就触发相应的事件,所谓的事件就是些回调方法(callback),这些方法 定义在ContentHandler中,下面是其主要方法: startDocument():当遇到文档的时候就触发这个事件 调用这个方法 可以在其中做些预处理工作,如:申请对象资源 endDocument():当结束文档的时候就触发这个事件 调用这个方法 可以在其中

Android创建与解析XML(三)——详解Sax方式

1. Sax概述 SAX是一种占用内存少且解析速度快的解析器,它采用的是事件启动,不需要解析完整个文档,而是按照内容顺序看文档某个部分是否符合xml语法,如果符合就触发相应的事件,所谓的事件就是些回调方法(callback),这些方法 定义在ContentHandler中,下面是其主要方法: startDocument():当遇到文档的时候就触发这个事件 调用这个方法 可以在其中做些预处理工作,如:申请对象资源 endDocument():当结束文档的时候就触发这个事件 调用这个方法 可以在其中

Android 创建与解析XML(五)——详解Dom4j方式

1.Dom4j概述 dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP. dom4j官方网址:dom4j dom4j源码下载:dom4j download 本示例中,需要导入dom4j

Android 创建与解析XML(四)——详解Pull方式

1.Pull概述 Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 XmlSerializer,还提供了用来解析XML的Pull方式解析器 XmlPullParser XmlSerializer没有像XmlPullParser那样提取XML事件,而是把它们推出到数据流OutputStream或Writer中. XmlSerializer提供了很直观的API,即使用startDocument开始文档,endDocument结束文档,sta

Android创建与解析XML(四) Pull方式

1.Pull概述 Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 XmlSerializer,还提供了用来解析XML的Pull方式解析器 XmlPullParser XmlSerializer没有像XmlPullParser那样提取 XML事件,而是把它们推出到数据流OutputStream或Writer中. XmlSerializer提供了很直观的API,即使用 startDocument开始文档,endDocument结束文档,s

Android创建与解析XML(一) 概述

Android 是最常用的智能手机平台,XML 是数据交换的标准媒介,Android 中可以使用标准的XML生成器.解析器.转换器 API,对 XML 进行解析和转换. XML,相关有DOM.SAX.JDOM.DOM4J.Xerces.JAXP等一堆概念,但是很多人总是会弄 混他们之间的关系,这对我们理解XML文件的创建和解析很不利.要挑选一个适合在Android平台上使用的XML解析方案,我们还 是得先把这些概念厘清. XML基本概念 DOM(Document Object Model,文档对

Android 创建与解析XML(一)—— 概述

Android 是最常用的智能手机平台,XML 是数据交换的标准媒介,Android 中可以使用标准的XML生成器.解析器.转换器 API,对 XML 进行解析和转换. XML,相关有DOM.SAX.JDOM.DOM4J.Xerces.JAXP等一堆概念,但是很多人总是会弄混他们之间的关系,这对我们理解XML文件的创建和解析很不利.要挑选一个适合在Android平台上使用的XML解析方案,我们还是得先把这些概念厘清. XML基本概念 DOM(Document Object Model,文档对象模