`

Android提高第七篇之XML解析与生成

阅读更多

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!

本文使用SAX来解析XML,在Android里面可以使用SAX和DOM,DOM需要把整个XML文件读入内存再解析,比较消耗内存,而SAX基于事件驱动的处理方式,可以在各节点触发回调函数,不过SAX适合节点结构简单的XML文档,复杂的XML文档在后期的节点深度处理会有点麻烦。

本文要解析的test.xml文件如下:

解析如上XML的结果如下:

使用SAX解析,需要定义SAXParserFactory(使应用程序能够配置和获取基于 SAX 的解析器以解析 XML 文档),SAXParser(从各种输入源解析 XML),XMLReader(使用回调函数读取 XML 文档),其中XMLReader是个关键。XMLReader可以为解析XML定义各种回调函数,“条件符合”的时候触发这些回调函数。

在这段代码里,XMLReader就调用继承DefaultHandler的SAXHandler。DefaultHandler已实现ContentHandler, DTDHandler, EntityResolver, ErrorHandler等接口,包含常见读取XML的操作,具体请看下面的SAXHandler.java源码。

生成XML的结果如下:

上图是读取各节点之后,使用XmlSerializer重新组合并输出XML字符串。

本文的main.xml代码如下:

SAXHandler.java的源码如下:

testSAX.java的源码如下:

分享到:
评论

相关推荐

    Android提高第七篇之XML解析与生成.doc

    总之,Android中的XML解析和生成是开发者经常需要掌握的技能。SAX解析器适用于处理大型XML文件,因为它不占用过多内存,而`XmlSerializer`则用于将数据结构转换成XML字符串,方便数据的保存和传输。理解并熟练运用...

    Android开发提高

    #### Android提高第七篇之XML解析与生成 XML(可扩展标记语言)在Android开发中主要用于配置文件和数据交换。学会解析和生成XML文件,意味着开发者能够更好地理解和利用Android的资源文件,同时也能在需要时通过...

    android实例xml解析

    "android实例xml解析"这个主题主要涉及如何在Android应用中处理XML文件,包括读取、解析和操作XML内容。以下是对这个主题的详细阐述: 1. XML简介: XML(eXtensible Markup Language)是一种可扩展标记语言,它...

    android 读取Excel文件转成xml文件

    - Android系统内置了对XML的支持,可以使用java.util DOM或SAX解析器,或者使用Android的XmlPullParser接口来生成XML。最常用的是DOM,因为它允许以树形结构处理XML文档,便于操作。 5. **字符资源与XML文件**: ...

    Android应用源码之比较通用的xml解析方法-IT计算机-毕业设计.zip

    本项目“Android应用源码之比较通用的XML解析方法”旨在探讨和实现不同XML解析方式,这对于理解和优化Android应用的性能至关重要。在毕业设计或论文研究中,掌握XML解析技巧是提升移动开发App质量的关键。 1. **DOM...

    Android解析xml文件

    Android提供了三种主要的XML解析方法:DOM(Document Object Model)、SAX(Simple API for XML)和PULL(Pull Parser)。本篇文章将重点介绍其中的DOM解析方式。 DOM解析是一种将整个XML文档加载到内存中并构建一...

    android二维码的生成和解析

    在Android平台上,二维码的生成与解析是常见的功能需求,尤其在移动支付、信息分享等领域广泛应用。本主题将深入探讨如何在Android应用中实现这一功能。 首先,二维码(Quick Response Code)是一种二维条形码,...

    android xml文件解码工具

    4. **AXML文件**:在Android中,XML文件会被编译成二进制格式的AXML文件,以提高应用的运行效率。AXML文件包含字节码表示的XML树,这使得直接阅读变得困难。 5. **解码工具**:这就是“Android XML文件解码工具”...

    android中poi生成word文档和excel文档

    3. **XML 文件与Word/Excel 文档**:描述中提到了从XML文件中读取数据来生成文档,这可能意味着XML被用作数据存储格式,然后通过POI转换为Word或Excel格式。XML可以更方便地进行数据操作和格式化,然后利用POI将其...

    android安卓app开发教程之生成二维码,解析识别二维码.zip

    此外,“Android之二维码的生成与解析 - lee0oo0 - 博客园.url”链接指向了一篇博客文章,该文章可能提供了详细的步骤和示例代码,可以帮助开发者更好地实现这个功能。 通过学习和实践以上知识点,开发者可以创建出...

    Android提高篇-OPhoneAndroid手机开发.doc

    第七篇可能涵盖了Android中XML数据的解析和生成,这包括使用 `XmlPullParser` 和 `XmlSerializer` 进行解析和序列化XML数据。这对于读取和保存应用配置文件、交换网络数据等场景非常有用。 7. **SQLite分页读取**...

    基于安卓Android的二维码的生成与识别系统的设计与实现

    在本项目"基于安卓Android的二维码的生成与识别系统的设计与实现"中,开发者通过集成二维码技术,构建了一个能够在Android平台上运行的完整系统。这个系统包括了二维码的生成和扫描识别两个核心功能,旨在提高信息...

    Android解析XML(PULL)展示到ListView

    当处理网络请求和XML解析时,通常会使用ProgressDialog显示进度,以提高用户体验。在Android中,ProgressDialog可以显示一个等待界面,告知用户后台操作正在进行。 12. **错误处理**: 开发时还需要考虑错误处理...

    Android的二维码生成demo

    在Android中,通常使用ZXing(Zebra Crossing)库来处理二维码的生成与解析。ZXing是一个开源项目,提供了多种条码和二维码的读取和生成功能。在本demo中,可能就是利用ZXing的Java端API来实现二维码生成。 3. **...

    tinyxml2源码及示例

    TinyXML2是一个轻量级的XML解析库,主要由C++编写,旨在提供简单、高效的方式来读取和写入XML文档。它适用于各种平台,包括桌面系统和移动系统,如Android。这个库的设计目标是小巧且易于理解,使得开发者能够快速地...

    spinner三级联动,解析xml

    在Android开发中,Spinner是一...这不仅要求我们掌握XML解析、Spinner的使用,还需要理解Android事件处理机制以及数据适配器的工作原理。在实际项目中,这样的功能可以提高用户选择地址的效率,同时也简化了数据管理。

    android.content.res.AXmlResourceParser

    7. **国际化与本地化**:Android支持多语言和区域设置,`AXmlResourceParser` 可以根据设备的配置选择正确的资源版本,实现内容的国际化和本地化。 现在,我们来讨论标签"apk解析"的相关内容: APK解析是Android...

    Android 4.0 网络编程详解代码(共7个项目)

    7. **第7章:Android中的Socket编程** - 建立TCP或UDP连接,实现客户端和服务端的通信。 - 使用InputStream和OutputStream进行数据传输。 - 异步Socket通信,避免阻塞主线程。 - 数据的序列化和反序列化,如使用...

    Android中常用的XML生成方法实例分析

    第二种生成XML的方法虽然没有在给定内容中直接展示,但在Android中,我们还可以使用`DocumentBuilderFactory`和`TransformerFactory`等API来自动生成DOM(Document Object Model)树,然后将其转换为XML字符串或写入...

Global site tag (gtag.js) - Google Analytics