• 使用sax解析xml

    发布:51Code 时间: 2017-06-22 11:11

  • 在java中,解析xml文档的方式有两种原生的方法,分别是:Dom解析和Sax解析。 Dom解析功能很强大,可增删改查,操作时将xml文档以文档对象的方式读取到内存中,适用于小文档。 Sax解析...

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

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

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

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

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

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

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

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


  • 上一篇:访问其他应用程序的Activity

    下一篇:为什么使用MVP模式

网站导航
Copyright(C)51Code软件开发网 2003-2018 , 沪ICP备05003035号