1.XML基础知识:XML文件下的节点(Node):Element Node,Text Node
2.SAX(Simple API for XML),速度快并且最大限度的减少应用程序的内存占用,适合于Android的移动设备
3.在按内容顺序解析文档的过程中, SAX 会判断当前读到的字符是否合法 XML 语法中的某部分,如果符合就会触发事件。所谓事件,其实就是一些回调( callback )方法,这些方法 ( 事件 ) 定义在 ContentHandler 接口。下面是一些 ContentHandler 接口常用的方法: (1)startDocument()
当遇到文档的开头的时候,调用这个方法,可以在其中做一些预处理的工作。
(2)endDocument()
和上面的方法相对应,当文档结束的时候,调用这个方法,可以在其中做一些善后的工作。
(3)startElement(String namespaceURI, String
localName, String qName, Attributes atts)
当读到一个开始标签的时候,会触发这个方法。namespaceURI 就是命名空间, localName 是不带命名空间前缀的标签名, qName 是带命名空间前缀的标签名。通过 atts 可以得到所有的属性名和相应的值。要注意的是 SAX 中一个重要的特点就是它的流式处理,当遇到一个标签的时候,它并不会纪录下以前所碰到的标签,也就是说,在 startElement() 方法中,所有你所知道的信息,就是标签的名字和属性,至于标签的嵌套结构,上层标签的名字,是否有子元属等等其它与结构相关的信息,都是不得而知的,都需要你的程序来完成。这使得 SAX 在编程处理上没有 DOM 来得那么方便。
(4)endElement(String uri, String localName,
String name)
这个方法和上面的方法相对应,在遇到结束标签的时候,调用这个方法。
(5)characters(char[] ch, int start, int
length)
这个方法用来处理在XML 文件中读到的内容,第一个参数用于存放文件的内容,后面两个参数是读到的字符串在这个数组中的起始位置和长度,使用 new String(ch,start,length) 就可以获取内容。
4.实例演示
(1)Person.xml
(2)Person.java
(3)SAX
分享到:
相关推荐
以下是使用SAX解析XML文件的步骤: 1. 引入依赖:在Android项目中,通常需要添加`xmlpull`库,它包含了SAX解析器。可以在`build.gradle`文件中添加依赖: ``` implementation 'xpp3:xpp3:1.1.4c' ``` 2. 创建...
总的来说,SAX解析器在Android中提供了一种高效、节省内存的方式来处理XML数据,尤其适合处理大型XML文件。尽管编程工作量相对DOM解析法较大,但其优势在于内存效率和性能。根据项目需求,开发者可以灵活选择最适合...
下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...
- `xmlSAXPaserDemo`可能是一个包含示例代码的Android项目,用于演示如何实际使用SAX解析XML文件。 - 项目中可能包括网络请求模块、SAX解析器处理类以及展示解析结果的UI部分。 通过以上步骤,开发者可以在...
以下是一个使用SAX解析XML文件的基本步骤: 1. **创建解析器**: 首先,我们需要创建一个SAX解析器实例。在Java中,这通常通过`SAXParserFactory`类完成。设置解析器属性,然后调用`newSAXParser()`方法获取`...
首先,SAX解析是一种基于事件驱动的解析方式,它不需要一次性加载整个XML文档到内存中,而是逐行读取,当遇到特定的XML元素(如开始标签、结束标签、属性等)时,会触发相应的事件处理器。这种方式对内存消耗较小,...
本篇文章将深入探讨三种在Android中解析XML的方法:DOM(文档对象模型)、Pull(拉取解析器)和SAX(简单API for XML),并且会特别强调如何识别文件编码。 首先,DOM解析是将整个XML文件加载到内存中形成一个树形...
在Android中,使用SAX解析天气预报XML,我们需要创建一个继承自DefaultHandler的类,重写其中的startElement、endElement和characters等方法,以捕获XML中的节点信息。例如,当遇到"city"标签时,startElement方法会...
首先,让我们了解一下SAX解析XML的基本流程。当SAX解析器读取XML文件时,它会按照文档顺序触发一系列事件,这些事件对应于ContentHandler接口中定义的方法。以下是ContentHandler接口的一些关键方法: 1. `start...
Android中解析XML文件SAX方式 SAX解析器会触发一系列的事件,如开始文档、开始元素、结束元素等,开发者需要通过实现`DefaultHandler`或自定义的`ContentHandler`来处理这些事件。以下是一个基本的SAX解析器使用...
### 四、初始化SAX解析器并解析XML文件 1. 创建`SAXParserFactory`实例,用于创建`SAXParser`。 2. 使用`SAXParser`创建`XMLReader`对象。 3. 将我们的事件处理器设置为`XMLReader`的ContentHandler。 4. 打开本地...
本文将深入探讨如何在Android环境中使用SAX(Simple API for XML)解析XML文件。SAX是一种事件驱动的解析器,它在读取XML文档时触发一系列事件,开发者可以注册事件处理器来处理这些事件,从而实现对XML数据的高效、...
本篇将深入探讨如何使用Android中的SAX引擎解析XML文件。 首先,我们需要理解SAX解析的基本工作原理。SAX解析器在读取XML文件时,会触发一系列的事件,如开始文档、结束文档、开始元素、结束元素等。开发者通过实现...
本教程将详细讲解如何在Android中使用SAX解析XML。 首先,要使用SAX解析XML,我们需要理解其工作原理。SAX解析器会逐个读取XML文档的元素,每当遇到文档的开始、结束、文本等事件时,就会触发相应的回调方法。...
XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,特别是在移动应用开发,如Android中,解析XML文件是常见的任务。本篇将详细讲解Android中三种主要的XML解析方式:SAX(Simple API for XML)...
总结,Android网络数据解析中,SAX解析XML是一种高效的处理方式,尤其适用于处理大型或结构复杂的XML数据。通过创建自定义的ContentHandler并监听XML解析事件,开发者可以实现灵活且高效的XML数据处理逻辑。在实际...
总结起来,Android中使用SAX解析XML的优点在于其低内存占用和高效的性能,适合处理大型XML文档。通过创建自定义的ContentHandler并重写其方法,我们可以根据XML的结构来解析和处理数据。不过,SAX解析不适用于需要...
### Android中使用SAX解析XML 1. **引入库**:在Android项目中,SAX解析器已经内置在`org.xml.sax`包中,无需额外导入库。 2. **创建ContentHandler**:创建一个实现了`org.xml.sax.ContentHandler`接口的类,重写...
本教程将详细介绍如何在Android环境下解析XML文件,以"ReadXMLDemo"为例,展示具体步骤和关键知识点。 首先,XML(eXtensible Markup Language)是一种自定义标记语言,它的结构清晰,易于读写,适合于数据交换和...
本文将详细介绍如何在Android中使用SAX解析XML。 首先,我们需要了解SAX解析的基本流程。SAX解析XML的过程是基于事件的,当解析器读取XML文档时,会触发一系列的事件,如开始文档、结束文档、开始元素、结束元素等...