`

Mars视频笔记——XML解析(SAX)

阅读更多

XML 可扩充标记语言

 

除了SAX(逐行扫描解析 操作稍显复杂 向文档添删内容不便) 

DOM方式(树 缺点:大数据性能不好) (听说还有PULL)

 

1 什么是SAX

Simple API for XML 一种接口 也是一个软件包

作为接口 SAX是事件驱动型XML解析的一个标准接口

 

2 SAX的基本原理

对文档顺序扫描 扫描到文档开始结束,元素开始结束等地方时通知事件处理函数

例如:

文档开始结束时触发文档处理事件

在文档内的每个XML元素接受解析前后触发元素事件

任何元数据通常都由单独的事件交互

在处理文档的DTD或Schema时产生DTD或Schema事件

产生错误事件用来通知主机应用程序解析错误

SAX模型(图)

 

eg:

<doc>

<para>hello,world</para>

</doc>

 

start document

start element:doc

start element:para

characters:hello,world

endelement:para

start element:doc

end document

 

3 SAX常用接口

ContentHandler接口

Java类包中特殊的SAX接口 封装了一些对事件处理的方法 当遇到事件 就会调用响应方法响应

比如:void startDocument() void endElements(String uri,String localName,String qName)等

 

 

4 SAX解析

 

解析文档过程

创建事件处理程序

创建SAX解析器

将事件处理程序分配给解析器

对文档进行解析,将每个事件发送给处理程序

//创建一个SAXParserFactory

SAXParserFactory factory=SAXParserFactory.newInstance();

XMLReader reader=factory.newSAXParser().getXMLReader();

//为XMLReader设置内容处理器

reader.setContentHandler(new MyContentHandler());

这里的MyContentHandler类为继承DefaultHandler(适配器模式 所以不是实现ContentHandler接口)的类

//开始解析文件

reader.parse(new InputSource(new StringReader(resultStr)));//resultStr为要解析的字符串

 

把自己要的解析工作代码写在响应的方法内(MyContentHandler)


分享到:
评论

相关推荐

    android mars视频代码 XML解析 SAX解析XML xml 源码

    www.mars-droid.com/Android开发视频教程 代码 源码 mars老师讲课 android 视频源码 SAX解析XML xml 源码(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)

    Android XML解析——Sax解析XML

    本篇文章将重点讨论Android中的SAX(Simple API for XML)解析器,这是一种事件驱动的解析方法,适合处理大文件或内存有限的设备。 ### SAX解析原理 SAX解析器以流式方式读取XML文档,遇到元素、属性等结构时会触发...

    XML——sax解析 极速入门易懂示例

    SAX(Simple API for XML)是XML解析的一种方法,主要适用于处理大型XML文档,因为它采用事件驱动模型,以流式读取XML数据,不会一次性加载整个文档到内存,从而节省资源。 SAX解析的基本工作原理是:当解析器读取...

    IOS应用源码——XML解析.zip

    这个“IOS应用源码——XML解析.zip”文件包含了一个iOS应用程序的源代码,专注于XML数据的解析。理解XML解析在iOS应用开发中的作用以及如何在Objective-C或Swift中实现这一功能,对于提升iOS开发技能至关重要。 ...

    MLDN学习笔记 —— XML学习笔记

    6. **SAX(Simple API for XML)**:基于事件驱动的解析器,适用于处理大型XML文档,因为它不将整个文档加载到内存中。 XML_04+05.pdf可能涉及XML在实际应用中的技术,如: 1. **XPath**:查询XML文档中特定节点的...

    SAX解析XML文件实例

    一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml文件的实例

    android mars视频代码 xml源码 XML解析

    Android Mars项目中的视频代码涉及到XML源码的解析,这对于我们理解XML在Android应用中的作用至关重要。 XML文档结构分为声明、元素、属性、文本内容、注释等部分。在Android中,XML文件主要有以下几种类型: 1. *...

    Android XML解析 SAX DOM Pull

    在Android中,有三种主要的XML解析方式:SAX(Simple API for XML)、DOM(Document Object Model)和Pull Parser。下面将详细介绍这三种解析方式,并结合person类的实例进行讲解。 1. SAX解析: SAX是一种事件驱动...

    Sax解析XML文件解析

    SAX(Simple API for XML)是XML解析的一种方法,它以事件驱动的方式处理XML文档,非常适合处理大体积的XML文件,因为它不需要一次性加载整个文件到内存,而是逐行读取,因此节省了资源。 **SAX解析XML的基本原理:...

    XML解析之SAX解析DEMO

    本文将深入探讨XML解析中的SAX(Simple API for XML)解析方法,并结合一个具体的Android 4.0网络编程示例进行详细讲解。 SAX解析是一种基于事件驱动的解析方式,它不会一次性加载整个XML文档到内存,而是逐行读取...

    android xml文件解析 SAX

    SAX是一种事件驱动的XML解析器,它不会像DOM解析器那样将整个XML文档加载到内存中,而是逐行读取,遇到每个元素或属性时触发相应的事件回调。这种方式节省了内存,特别适合处理大型XML文件。 1. **SAX解析的基本...

    sax解析xml尤其是获取元素的值或者内容

    SAX(Simple API for XML)是XML解析的一种方式,它采用事件驱动模型,适用于处理大型XML文档,因为它不需要将整个文档加载到内存中。本文将深入探讨如何使用SAX解析XML并获取元素的值或内容。 首先,SAX解析器以...

    sax解析xml本地读取xml

    SAX(Simple API for XML)是XML解析器的一种,它采用事件驱动的方式对XML文档进行解析,而不是一次性加载整个文档到内存中,因此在处理大型XML文件时,SAX解析器具有较高的性能和较低的内存消耗。 标题“sax解析...

    XML-java.rar_XML SAX_sax_sax xml_sax 解析 xml_xml using dom

    本压缩包文件“XML-java.rar”包含了关于使用Java解析XML的实例,特别强调了SAX解析器的使用,并且提到了使用JDOM和JOM4J这两个Java库来处理XML。 1. **DOM解析**:DOM是一种树型结构,它将整个XML文档加载到内存中...

    XML文件c语言 dom和sax模式解析

    在C语言环境中,处理XML文件时,通常有两种主要的解析模式:DOM(Document Object Model)和SAX(Simple API for XML)。 **DOM解析模式**: DOM解析器将整个XML文档加载到内存中,创建一个树形结构,即文档对象...

    易语言 xml解析 易语言 xml解析 教程 带源码

    4. **SAX解析**:与DOM不同,SAX解析器不将整个XML文档加载到内存,而是通过事件回调函数处理每个元素的开始和结束、处理属性等。在易语言中,我们需要定义一系列的事件处理函数,如`开始文档`、`结束文档`、`开始...

    XML解析器————

    2. **SAX解析器**:Simple API for XML (SAX) 是一种事件驱动的解析模型,适合处理大型或资源受限的环境。当解析器遇到XML文档中的元素、属性等时,会触发相应的事件回调,而不会将整个文档加载到内存。 3. **XML ...

    xml文件解析SAX

    SAX(Simple API for XML)是XML解析的一种方式,它以事件驱动的方式处理XML文档,适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存中。 在SAX解析中,XML文档被读取一次,遇到特定的元素、属性或其他...

    Android XML解析—— Pull解析XML(待完善)

    - **适合解析简单结构的XML**:对于结构复杂、嵌套深度大的XML,Pull解析可能不如DOM或SAX解析直观。 在实际开发中,如Android的布局文件解析、配置文件读取或者从网络获取XML数据时,都可以使用Pull解析器进行处理...

    XML通过sax解析JSON格式

    SAX(Simple API for XML)是一种基于事件驱动的XML解析器,适用于处理大型XML文档,因为它不会将整个文档加载到内存中。 标题中提到的"XML通过SAX解析为JSON格式"是指使用SAX解析器来读取XML文档,并将其转换成...

Global site tag (gtag.js) - Google Analytics