SAX之:SAXParserFactory与SAXParser
来源:互联网 发布:软件项目核算管理办法 编辑:程序博客网 时间:2024/05/31 13:15
http://www.cnblogs.com/avenwu/archive/2012/01/20/2327749.html
SAX是Simple API for XML的简称,在Android里面提供对XML文件的解析接口方法,如果给我们一个XML文件,要求把里面我们关心的数据解析出来,我们就可以使用SAX技术,在具体使用中,会对XML文件的每一个字符逐一读取并出发相应事件,也就是说,SAX技术是事件驱动的。比如startDocument,startElement,characters,endElement等等下面是一个案例。
实例源码:
1 public List<Person> getPersons(InputStream inStream) throws Throwable
2
3 {
4 SAXParserFactory factory = SAXParserFactory.newInstance();
5 SAXParser parser = factory.newSAXParser();
6 //自定义扩展自DefaultHandler的子类,覆写一些解析XML时我们需要的方法
7 PersonParser personParser = new PersonParser();
8 parser.parse(inStream, personParser);
9 //使用完传进来的输入流后就把它关闭
10 inStream.close();
11 return personParser.getPersons();
12
13 }
SAXParserFactory 相关介绍:
定义了一个API工厂,使得应用程序可以配置和获得一个基于SAX(Simple API for XML
)的解析器,从而能够解析XML文档( 原文: Defines a factory API that enables applications to configure and obtain a SAX based parser to parse XML documents. )
它的构造器是受保护的,因而只能用newInstance()方法获得实例( Protected constructor to force use of newInstance(). )
SAXParser相关介绍:
定义了一个继承自XMLReader类的API,其构造器也是受保护的,通过newSAXParser() 方法获得实例,可以把各种数据源作为解析用的XML(这个方法就是public void parse (InputSource is, DefaultHandler dh)),这些输入数据源包括输入流,文件,URL以及SAX输入资源。(Defines the API that wraps an XMLReader implementation class , An instance of this class can be obtained from the newSAXParser() method. Once an instance of this class is obtained, XML can be parsed from a variety of input sources. These input sources are InputStreams, Files, URLs, and SAX InputSources. )
关于SAX更多使用信息,还会撰文。
- SAX之:SAXParserFactory与SAXParser
- SAX之:SAXParserFactory与SAXParser
- SAX之:SAXParserFactory与SAXParser
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- JAXP之SAX解析的第一种方法,利用SAXParser.parser()方法
- xml解析之SAXParser的简单使用
- Java与XML读写之SAX篇
- Java与XML读写之SAX篇
- 面试 linux常用命令
- [个人开发者赚钱四]开发产品及发布到应用市场
- 线程基础1一基本认识
- 面试中常问的十个关于String的问题
- 13. Roman to Integer
- SAX之:SAXParserFactory与SAXParser
- 一个写优先的读写锁实现
- 年度回忆录-我的2013
- Android--LinearGradient线性渐变
- cocoa2D:基本概念(2)
- vfork(),fork()与clone()的区别
- hdu 2049 不容易系列之(4)——考新郎
- ICCV2013 录用论文(目标跟踪相关部分)
- Android绘图Canvas、Paint