本文来自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解析和生成是开发者经常需要掌握的技能。SAX解析器适用于处理大型XML文件,因为它不占用过多内存,而`XmlSerializer`则用于将数据结构转换成XML字符串,方便数据的保存和传输。理解并熟练运用...
#### Android提高第七篇之XML解析与生成 XML(可扩展标记语言)在Android开发中主要用于配置文件和数据交换。学会解析和生成XML文件,意味着开发者能够更好地理解和利用Android的资源文件,同时也能在需要时通过...
"android实例xml解析"这个主题主要涉及如何在Android应用中处理XML文件,包括读取、解析和操作XML内容。以下是对这个主题的详细阐述: 1. XML简介: XML(eXtensible Markup Language)是一种可扩展标记语言,它...
- Android系统内置了对XML的支持,可以使用java.util DOM或SAX解析器,或者使用Android的XmlPullParser接口来生成XML。最常用的是DOM,因为它允许以树形结构处理XML文档,便于操作。 5. **字符资源与XML文件**: ...
本项目“Android应用源码之比较通用的XML解析方法”旨在探讨和实现不同XML解析方式,这对于理解和优化Android应用的性能至关重要。在毕业设计或论文研究中,掌握XML解析技巧是提升移动开发App质量的关键。 1. **DOM...
Android提供了三种主要的XML解析方法:DOM(Document Object Model)、SAX(Simple API for XML)和PULL(Pull Parser)。本篇文章将重点介绍其中的DOM解析方式。 DOM解析是一种将整个XML文档加载到内存中并构建一...
在Android平台上,二维码的生成与解析是常见的功能需求,尤其在移动支付、信息分享等领域广泛应用。本主题将深入探讨如何在Android应用中实现这一功能。 首先,二维码(Quick Response Code)是一种二维条形码,...
4. **AXML文件**:在Android中,XML文件会被编译成二进制格式的AXML文件,以提高应用的运行效率。AXML文件包含字节码表示的XML树,这使得直接阅读变得困难。 5. **解码工具**:这就是“Android XML文件解码工具”...
3. **XML 文件与Word/Excel 文档**:描述中提到了从XML文件中读取数据来生成文档,这可能意味着XML被用作数据存储格式,然后通过POI转换为Word或Excel格式。XML可以更方便地进行数据操作和格式化,然后利用POI将其...
此外,“Android之二维码的生成与解析 - lee0oo0 - 博客园.url”链接指向了一篇博客文章,该文章可能提供了详细的步骤和示例代码,可以帮助开发者更好地实现这个功能。 通过学习和实践以上知识点,开发者可以创建出...
第七篇可能涵盖了Android中XML数据的解析和生成,这包括使用 `XmlPullParser` 和 `XmlSerializer` 进行解析和序列化XML数据。这对于读取和保存应用配置文件、交换网络数据等场景非常有用。 7. **SQLite分页读取**...
在本项目"基于安卓Android的二维码的生成与识别系统的设计与实现"中,开发者通过集成二维码技术,构建了一个能够在Android平台上运行的完整系统。这个系统包括了二维码的生成和扫描识别两个核心功能,旨在提高信息...
当处理网络请求和XML解析时,通常会使用ProgressDialog显示进度,以提高用户体验。在Android中,ProgressDialog可以显示一个等待界面,告知用户后台操作正在进行。 12. **错误处理**: 开发时还需要考虑错误处理...
在Android中,通常使用ZXing(Zebra Crossing)库来处理二维码的生成与解析。ZXing是一个开源项目,提供了多种条码和二维码的读取和生成功能。在本demo中,可能就是利用ZXing的Java端API来实现二维码生成。 3. **...
TinyXML2是一个轻量级的XML解析库,主要由C++编写,旨在提供简单、高效的方式来读取和写入XML文档。它适用于各种平台,包括桌面系统和移动系统,如Android。这个库的设计目标是小巧且易于理解,使得开发者能够快速地...
在Android开发中,Spinner是一...这不仅要求我们掌握XML解析、Spinner的使用,还需要理解Android事件处理机制以及数据适配器的工作原理。在实际项目中,这样的功能可以提高用户选择地址的效率,同时也简化了数据管理。
7. **国际化与本地化**:Android支持多语言和区域设置,`AXmlResourceParser` 可以根据设备的配置选择正确的资源版本,实现内容的国际化和本地化。 现在,我们来讨论标签"apk解析"的相关内容: APK解析是Android...
7. **第7章:Android中的Socket编程** - 建立TCP或UDP连接,实现客户端和服务端的通信。 - 使用InputStream和OutputStream进行数据传输。 - 异步Socket通信,避免阻塞主线程。 - 数据的序列化和反序列化,如使用...
第二种生成XML的方法虽然没有在给定内容中直接展示,但在Android中,我们还可以使用`DocumentBuilderFactory`和`TransformerFactory`等API来自动生成DOM(Document Object Model)树,然后将其转换为XML字符串或写入...