`
android_mylove
  • 浏览: 399440 次
社区版块
存档分类
最新评论

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

 
阅读更多

1. Sax概述

SAX是一种占用内存少且解析速度快的解析器,它采用的是事件启动,不需要解析完整个文档,而是按照内容顺序看文档某个部分是否符合xml语法,如果符合就触发相应的事件,所谓的事件就是些回调方法(callback),这些方法 定义在ContentHandler中,下面是其主要方法:
startDocument():当遇到文档的时候就触发这个事件 调用这个方法 可以在其中做些预处理工作,如:申请对象资源
endDocument()当结束文档的时候就触发这个事件 调用这个方法 可以在其中做些善后工作,如:释放申请的对象资源
startElement(String namespaceURI, String localName, String qName, Attributes atts)当遇开始标签的时候就会触发这个方法。
endElement(String uri, String localName, String name):当遇到结束标签时触发这个事件,调用此法可以做些善后工作。
charachers(char [] ch, int start, int length)当遇到xml内容时触发这个方法,用new String(ch,start,length)可以接受内容。

Sax方式创建XML,应用了标准xml构造器javax.xml.transform.sax.TransformerHandler 事件来创建 XML 文档,需要导入以下内容

javax.xml.transform

javax.xml.transform.sax.SAXTransformerFactory;
javax.xml.transform.sax.TransformerHandler;
javax.xml.transform.Transformer;
javax.xml.transform.TransformerConfigurationException;
javax.xml.transform.TransformerFactoryConfigurationError;
javax.xml.transform.OutputKeys;
javax.xml.transform.stream.StreamResult;
javax.xml.transform.sax.SAXTransformerFactory;

javax.xml.parsers

javax.xml.parsers.SAXParser;

javax.xml.parsers.SAXParserFactory;

javax.xml.parsers.FactoryConfigurationError;

javax.xml.parsers.ParserConfigurationException;

org.xml.sax

org.xml.sax.Attributes;
org.xml.sax.SAXException;
org.xml.sax.helpers.AttributesImpl;
org.xml.sax.helpers.DefaultHandler;

sdk源码查看路径google code


Sax 创建和解析 XML 的效果图:




2、Sax 创建 XML

首先,SAXTransformerFactory.newInstance() 创建一个工厂实例 factory

接着,factory.newTransformerHandler() 获取TransformerHandler 的 handler 对象

然后,通过 handler 事件创建handler.getTransformer()、handler.setResult(result),以及 startDocument()、startElement、characters、endElement、endDocument()等

Code


运行结果:





3、Sax解析XML

Code


运行结果:





4、Person类

请参见前面博客Android 创建与解析XML(二)—— Dom方式【4、Person类】



代码下载




参考推荐:

javax.xml.transform.sax

javax.xml.parsers

org.xml.sax

TransformerHandler


sax创建xml

Android 解析XML 之SAX


分享到:
评论

相关推荐

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

    本文将深入讲解如何在Android中使用SAX解析XML以及如何通过SAX方式创建XML。 **1. SAX解析XML** SAX解析XML的基本流程是:创建SAXParserFactory,通过该工厂实例化SAXParser,然后设置事件处理器(ContentHandler...

    Android XML解析——Sax解析XML

    ### Android中使用SAX解析XML 1. **引入库**:在Android项目中,SAX解析器已经内置在`org.xml.sax`包中,无需额外导入库。 2. **创建ContentHandler**:创建一个实现了`org.xml.sax.ContentHandler`接口的类,重写...

    android开发之xml文件操作——SAX

    在Android项目中,我们通常需要以下步骤来使用SAX解析XML: 1. 创建一个继承自`DefaultHandler`的类,比如我们可以命名为`MySAXHandler`。在这个类中,我们需要重写`startElement`、`endElement`和`characters`方法...

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

    Dom方式创建与解析XML文档是一种使用编程语言,如Java,在Android平台实现的方式。这种方式利用了DOM(文档对象模型)的API,其中JAXP(Java API for XML Processing)提供的DocumentBuilder类是用来创建和解析XML...

    android开发之xml文件操作——xml创建和pull解析xml

    本项目主要关注的是XML的创建和使用Pull解析器来解析XML,这是Android系统中处理XML数据的一种高效方法。接下来,我们将详细讨论这两个知识点。 首先,XML(Extensible Markup Language)是一种用于标记数据的语言...

    Android 创建与解析XML Dom方式

    Android SDK还提供了另一种解析XML的方式——`XmlPullParser`,它结合了DOM和SAX的优点,既允许向前查找,又不会一次性加载整个文档,适合Android资源文件的解析。 总之,理解DOM方式在Android中的应用是开发者必备...

    Android中,使用SAX和PULL解析天气预报XML

    本文将深入探讨如何在Android中使用两种常见的XML解析技术——SAX(Simple API for XML)和PULL(Pull Parser)来解析天气预报的XML数据。这两种方法各有优缺点,适用于不同的场景。 首先,我们来看SAX解析器。SAX...

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

    本文主要关注Android中的Pull解析方式来处理XML,这是一种轻量级、低内存占用的解析方法。 **什么是XML Pull解析** XML Pull解析器(XML Pull Parser)是一种事件驱动的解析模型,它不需要完整的XML文档加载到内存...

    adroid解析XML三种方式——源码分析

    本篇文章将深入探讨Android解析XML的三种主要方法:DOM、SAX和Pull解析器,并结合源码进行分析,帮助开发者理解它们的工作原理和适用场景。 1. DOM解析: DOM(Document Object Model)解析器将整个XML文档加载到...

    Android 解析 XML 三种方法

    总结,Android解析XML的三种方法——SAX、DOM和PULL,各有适用场景。理解它们的工作原理和优缺点,可以帮助我们更好地选择和运用XML解析技术,提高应用的效率和用户体验。在实践中不断学习和探索,才能真正掌握这些...

    Android 封装pull解析xml

    Pull解析器(XMLPullParser)是Android SDK提供的一种轻量级、高效的XML解析方式,它不需要创建整个XML文档的树结构,而是通过事件触发的方式解析XML,从而节省内存资源。以下是一些关于封装Pull解析XML的关键知识点...

    安卓Android源码——比较通用的xml解析方法.rar

    本资料包“安卓Android源码——比较通用的xml解析方法”将深入探讨在Android平台上解析XML的多种方法。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,创建一个树形结构,便于遍历和...

    Android基础——XML数据的三种解析方式

    总结来说,Android中解析XML时,DOM适用于小型且需要频繁访问的文件,SAX和Pull解析适合大型文件或资源有限的环境。选择哪种解析方式取决于具体应用场景和性能需求。理解并熟练掌握这三种解析方式,将有助于提升...

    Android网络下的XML解析和生成

    除了DOM和SAX,Android还提供了另一种解析XML的方式——Pull解析器(PullParser),它是基于事件驱动的轻量级解析器,类似于SAX,但更易于使用。`android.util.Xml`提供了一个`PullParser`的实现。 示例代码: ```...

    安卓Android源码——比较通用的xml解析方法.zip

    本资源“安卓Android源码——比较通用的xml解析方法.zip”显然聚焦于探讨在Android平台上解析XML的不同方法。这里我们将深入探讨两种主要的XML解析技术:SAX(Simple API for XML)和DOM(Document Object Model),...

    老罗android视频开发源码和ppt--android解析xml文件.rar

    此外,Android还提供了另一种解析XML的方式——Pull解析(PullParser)。它结合了DOM和SAX的优点,既避免了DOM的内存消耗,又简化了SAX的事件处理逻辑。开发者可以利用`android.util.Xml`类提供的`PullParser`接口...

Global site tag (gtag.js) - Google Analytics