设为首页 加入收藏

TOP

Android中使用SAX对XMl文件进行解析
2014-11-24 14:34:40 来源: 作者: 【 】 浏览:1
Tags:Android 使用 SAX XMl 文件 进行 解析

sax解析技术是解析速度很快,并且占用很小量的内存;sax解析的方法是进行事件驱动的方法,相对于dom技术必须要调用这个xml文档到内存中,他不需要整个xml文档,


按顺序进行解析,按要求把xml当如到内存中;当我们在解析的时候,会按照要求触发一系列的回调方法,这些方法我们可以在ContentHandler接口中找到,不过如果实现这个接口,我们要去实现里面所有的方法,方法比较多;不过我们可以去继承已经实现该接口的DefaultHandler类;


本文源码下载地址


具体下载目录在 /2012年资料/1月/13日/Android中使用SAX对XMl文件进行解析/



可以重写一下一些方法:



1: startDocument() 这是解析到文档开始的时候,可以去做一些初始化或者预处理的事情


2:endDocument() 这是解析到文档结束的时候,可以去做一些收尾的事情



3:startElement(StringnamespaceURI, StringlocalName, StringqName, Attributesatts)



这是读到一个元素的时候,会触发这个方法 参数意思:


namespaceURI 命名空间,如果没有命名空间填写""; localName:当前解析到的元素名字; qName:命名空间+当前解析到的元素名字;atts:当前解析到元素的属性



4:endElement(Stringuri, StringlocalName, String name)





这个方法和


startElement



5:characters(char[]ch,int start,int length) 调用这个方法,取出解析到的文本内容



使用步骤:(使用以下的XML文件)


< xml version="1.0" encoding="UTF-8" >


张三
30


李四
24



1:创建继承于DefaultHandler解析帮组类;


2:在创建读取方法里面进行SAX解析:


SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser parser = spf.newSAXParser();
SAXXMLHandler handler = new SAXXMLHandler();
parser.parse(inputStream, handler);



下面直接看Demo代码:


解析帮助类:




主Activity类





解析效果截图:



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android中的Activity生命周期学习 下一篇使用SAX技术对XML文档进行解析范例

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: