上篇对采用jaxp解析器使用dom技术解析xml做了一个介绍,对jaxp解析器使用sax技术解析xml则一笔带过了,接下来我们看看jaxp采用sax技术是如何解析xml的呢。
采用sax技术解析xml是依靠于事件驱动的,边读边解析,相关类位于javax.xml.parsers包里面
**SAXParser 此类的实例可以从SAXParserFactory的newSAXParser( )方法获得
|_ Parser( File f , DefaultHandler dh ) 两个参数 *第一个参数:xml的路径 *第二个参数:事件处理器
**SAXParserFactory 其实例可以通过本身的newInstance()方法得到
**SAX执行过程
|- 当解析到开始标签的时,自动执行startElement()方法
|- 当解析到文本的时,自动执行characters()方法
|_ 当解析到结束标签时,自动执行endElement()方法
**使用jaxp的sax方式来解析xml
*sax方式不能实现增删改操作,只能做查询操作
*打印整个xml文档
执行parse()方法,第一个参数是xml路径,第二个参数是事件处理器
**创建一个类,继承事件处理器的类
**重写里面的三个方法
*获取到所有name的值
**定义一个成员变量flag=false
**判断开始方法是否是name元素,如果是name元素,把flag设置为true
**如果flag值为true,在character()方法里面打印内容
**当执行到结束方法时,把flag值设置成false
*获取到第一个name的值