Android xml解析

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

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

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

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 导航 XML的三种解析方式 json全面解析和使用 Gson官方推荐的json解析方式 三种解析XML方法的比较 ...
    侯蛋蛋_阅读 20,964评论 2 22
  • 一、绪论 上周工作需要了解项目的一些大体内容,结果在xml解析这一块看的迷迷糊糊的,所以在这里把学习到xm...
    cao健强阅读 9,625评论 1 7
  • xml解析有三种方式 dom解析,sax解析,pull解析 1-dom DOM解析XML文件时,会将XML文件的所...
    凯玲之恋阅读 1,794评论 0 0
  • 1. XML总结 1.1. XML简介 XML : 可扩展的标记语言。(和HTML非常类似的) 可扩展的。 自定义...
    Ethan_Walker阅读 8,436评论 0 12
  • 1 PHP 1.1 Xdebug 1.2 php 错误日志 1.3 error_log 使用 通过 error_l...
    Separes阅读 1,690评论 0 0