Android中使用SAX解析XML文件
本文由发表于6年前 | Android | 暂无评论 |  被围观 5,909 views+

首先先大概说一下什么是SAX

SAX是一个用于处理XML事件驱动的“推”模型,虽然它不是W3C标准,但它却是一个得到了广泛认可的API。SAX解析器不像DOM那样建立一个完整的文档树,而是在读取文档时激活一系列事件,这些事件被推给事件处理器,然后由事件处理器提供对文档内容的访问。

使用SAX解析XML文件具有以下特点:

逐行扫描,一边扫描,一边解析,比DOM节省内存空间,操作稍微复杂
Simple API for XML,既是指一种接口,也是指一个软件包
作为接口,SAX是事件驱动型XML解析的一个标准接口

SAX的常用接口为ContentHandler

以下是常用的SAX解析XML文件的步骤,使用ContentHandler的实现类DefaultHandler:

① 首先创建一个类继承DefaultHandler,重写以下方法:

characters(char[] ch, int start, int length)
endDocument()
endElement(String uri, String localName, String qName)
startDocument()
startElement(String uri, String localName, String qName, Attributes attributes)
public class
DefaultHandler
extends Object
implements ContentHandler DTDHandler EntityResolver ErrorHandler

② 在Activity中创建XMLReader,并对输入的inputString字符串进行解析:

//创建一个SAXParserFactory
SAXParserFactory factory = SAXParserFactory.newInstance();
XMLReader reader = factory.newSAXParser().getXMLReader();
//为XMLReader设置内容处理器
reader.setContentHandler(new MyContentHandler());
//开始解析文件
reader.parse(new InputSource(new StringReader(inputString)));

(特别说明:本文部分内容是在观看marschen的Android视频教程时做的笔记,感谢marschen推出的视频教程,这里也推荐给大家:http://www.marschen.com/portal.php)

除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/android-xml-files-using-sax-parsing.html
关键字: , ,
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2011 7/12
文章评论
    没有评论
给我留言

有人回复时邮件通知我
Android的相关文章
随机文章 本月热门 热评
1 Hibernate一对多单向关联和双向关联映射方法及其优缺点 2011/5/28
2 JVM笔记 – 虚拟机执行子系统(虚拟机字节码执行引擎) 2015/3/1
3 Intent的基本作用和在程序中的用法 2011/7/12
4 设计模式笔记 – Strategy 策略模式 (Design Pattern) 2011/10/17
5 Java基础笔记 – 增强的for循环For each循环 自动装箱拆箱 可变参数 2011/10/30
6 据说这套试题对于软考很有帮助,大家可以看看 2011/4/26
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.