使用sax解析xml

来源:互联网 发布:飞机部件修理就业数据 编辑:程序博客网 时间:2024/04/30 06:17


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()方法。接着结束元素读取,所有元素读取完后,结束文档解析。

 

 

0 0
原创粉丝点击