使用sax解析xml



java中,解析xml文档的方式有两种原生的方法,分别是:Dom解析和Sax解析。

Dom解析功能很强大,可增删改查,操作时将xml文档以文档对象的方式读取到内存中,适用于小文档。

Sax解析是从头到尾每一行每一个元素读取内容,修改较为不便,但适用于只读的大文档。

我们主要讲解Sax解析,其余放在后面

Sax采用事件驱动的方式解析文档。简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(Dom可来来回回读取)。

在看电影的过程中,每遇到一个情节,一段泪水,一次擦肩,你都会调动大脑和神经去接收或处理这些信息。同样,在Sax的解析过程中,读取到文档开头、结尾,元素的开头和结尾都会触发一些回调方法,你可以在这些回调方法中进行相应事件处理。这四个方法是:startDocument() 、 endDocument()、 startElement()、 endElement。此外,光读取到节点处是不够的,我们还需要characters()方法来仔细处理元素内包含的内容,将这些回调方法集合起来,便形成了一个类,这个类也就是我们需要的触发器。

一般从Main方法中读取文档,却在触发器中处理文档,这就是所谓的事件驱动解析方法。

12.21图片10_水印.png 

如上图,在触发器中,首先开始读取文档,然后开始逐个解析元素,每个元素中的内容会返回到characters()方法。接着结束元素读取,所有元素读取完后,结束文档解析。

 

 

java中,解析xml文档的方式有两种原生的方法,分别是:Dom解析和Sax解析。

Dom解析功能很强大,可增删改查,操作时将xml文档以文档对象的方式读取到内存中,适用于小文档。

Sax解析是从头到尾每一行每一个元素读取内容,修改较为不便,但适用于只读的大文档。

我们主要讲解Sax解析,其余放在后面

Sax采用事件驱动的方式解析文档。简单点说,如同在电影院看电影一样,从头到尾看一遍就完了,不能回退(Dom可来来回回读取)。

在看电影的过程中,每遇到一个情节,一段泪水,一次擦肩,你都会调动大脑和神经去接收或处理这些信息。同样,在Sax的解析过程中,读取到文档开头、结尾,元素的开头和结尾都会触发一些回调方法,你可以在这些回调方法中进行相应事件处理。这四个方法是:startDocument() 、 endDocument()、 startElement()、 endElement。此外,光读取到节点处是不够的,我们还需要characters()方法来仔细处理元素内包含的内容,将这些回调方法集合起来,便形成了一个类,这个类也就是我们需要的触发器。

一般从Main方法中读取文档,却在触发器中处理文档,这就是所谓的事件驱动解析方法。

12.21图片10_水印.png 

如上图,在触发器中,首先开始读取文档,然后开始逐个解析元素,每个元素中的内容会返回到characters()方法。接着结束元素读取,所有元素读取完后,结束文档解析。

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值