sax解析的原理()
解析xml有两种技术 dom 和sax
根据xml的层级结构在内存中分配一个树形结构
把xml中标签,属性,文本封装成对象
sax方式:事件驱动,边读边解析
在javax.xml.parsers包里面
SAXParser
此类的实例可以从 SAXParserFactory.newSAXParser() 方法获得
- parse(File f, DefaultHandler dh)
两个参数
第一个参数:xml的路径
事件处理器
SAXParserFactory
实例 newInstance() 方法得到
画图分析一下sax执行过程
当解析到开始标签时候,自动执行startElement方法
当解析到文本时候,自动执行characters方法
当解析到结束标签时候,自动执行endElement方法
4、使用jaxp的sax方式解析xml(会写)
sax方式不能实现增删改操作,只能做查询操作
打印出整个文档
执行parse方法,第一个参数xml路径,第二个参数是 事件处理器
创建一个类,继承事件处理器的类,
重写里面的三个方法
获取到所有的name元素的值
定义一个成员变量 flag= false
判断开始方法是否是name元素,如果是name元素,把flag值设置成true
如果flag值是true,在characters方法里面打印内容
当执行到结束方法时候,把flag值设置成false
获取第一个name元素的值
定义一个成员变量 idx=1
在结束方法时候,idx+1 idx++
想要打印出第一个name元素的值,
- 在characters方法里面判断,
-- 判断flag=true 并且 idx==1,在打印内容