android之xml数据解析(SAX)
2012-03-22 10:09
447 查看
使用SAX事件驱动模型解析xml数据:
sax的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。以下是创建SAX解析的步骤:
1. 创建SAXParserFactory对象
SAXParserFactory factory = SAXParserFactory.newInstance();
2. 创建SAXReader对象
SAXReader reader = factory.newwSAXParser().getXMLReader();
3. 为XMLReader设置内容处理器,当读取xml文件时里面相应的函数会被调用。MyContentHandler这个类我们选择继承DefaultHandler并且实现相应的方法
reader.setContentHandler(new MyContentHandler());
4. 解析数据
reader.parse(new InputSource(new StringReader(这就是xml数据,不管是网络上的还是本地的)));
DefaultHandler类中部分方法的述解:namespaceURI是xml文件的命名空间;localName是不包含前缀的元素名;qName是包含前缀的元素名;attr就是属性,它相当于数组
public void startElement(String namespaceURI , String localName , String qName , Attribute attr) throws SAXException {
tagName = loaclName;
if(localName.equal("元素名")){
for(int i=0 ; i<attr.getLength() ; i++){
System.out.print("输出属性名字:"+attr.getLocalName(i));
System.out.print("输出属性值:"+attr.getValue(i));
}
}
}
sax的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。以下是创建SAX解析的步骤:
1. 创建SAXParserFactory对象
SAXParserFactory factory = SAXParserFactory.newInstance();
2. 创建SAXReader对象
SAXReader reader = factory.newwSAXParser().getXMLReader();
3. 为XMLReader设置内容处理器,当读取xml文件时里面相应的函数会被调用。MyContentHandler这个类我们选择继承DefaultHandler并且实现相应的方法
reader.setContentHandler(new MyContentHandler());
4. 解析数据
reader.parse(new InputSource(new StringReader(这就是xml数据,不管是网络上的还是本地的)));
DefaultHandler类中部分方法的述解:namespaceURI是xml文件的命名空间;localName是不包含前缀的元素名;qName是包含前缀的元素名;attr就是属性,它相当于数组
public void startElement(String namespaceURI , String localName , String qName , Attribute attr) throws SAXException {
tagName = loaclName;
if(localName.equal("元素名")){
for(int i=0 ; i<attr.getLength() ; i++){
System.out.print("输出属性名字:"+attr.getLocalName(i));
System.out.print("输出属性值:"+attr.getValue(i));
}
}
}
相关文章推荐
- android下SAX解析大xml数据时只解析出一部分的解决方法
- Android网络之数据解析----SAX方式解析XML数据
- android 学习笔记 SAX 解析XML数据
- Android网络之数据解析----SAX方式解析XML数据
- Android 之XML数据解析(2)—— SAX解析
- Android网络之数据解析----SAX方式解析XML数据
- Android-Sax解析与生成xml数据
- Android 通过Dom, Sax, Pull解析网络xml数据
- Android网络之数据解析----SAX方式解析XML数据
- Android网络之数据解析----SAX方式解析XML数据
- android 解析XML(Pull、SAX)
- Android解析和创建XML之学习笔记------SAX
- 【Android系列】之DOM、SAX、Pull解析XML
- 详解android解析Xml的三种方式——DOM、SAX以及XMLpull
- android sax dom pull 解析xml 和生成xml
- Android中如何解析XML数据
- Android第一行代码 第九章 数据解析方式(xml,json)
- android解析XML总结(SAX、Pull、Dom三种方式)
- Android基础—XML数据解析的三种方式
- Android中使用SAX来解析XML