android 中的xml解析应该是和java中一条道路 主要分为sax 解析和的Dom 解析。
如下的介绍的相关的包和类均为android 环境下:

sax解析对应为:
org\xml\sax 包 :xml解析
javax.xml.parsers.SAXParserFactory
javax.xml.parsers.SAXParser
两个主要用于SAXParser的上下文建立
示例如下:
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
ParseXML parX = new ParseXML();
parser.parse("F:\\emps.xml", parX);
这里的ParseXML 一般是继承于org.xml.sax.helpers.DefaultHandler类的解析实现。
因为Sax 对xml的解析是基于事件类型的,也就是Sax Parser逐步的读取xml文件,然后碰到一个节点,一个属性,碰到一个节点的结束等事件都会回调哦org.xml.sax.helpers.DefaultHandler 之类的实现,然后在Hander 的实现中具体解析各个节点名称,属性名称。通过以上的特点可以看出sax有速度快(不需要全部的读入内存并构建树),消耗的内存较少,线性的从上往下解析,所以它比较的适合于xml文件大,速度要求高,解析结构自上而下 如把html展示出来,xml转为html等。

Dom解析对应为:
org\w3c\dom包:xml的各个元素对应类
javax.xml.parsers.DocumentBuilderFactory
javax.xml.parsers.DocumentBuilder
结构也和sax 一样,最终的解析目标指向org.w3c.dom.Document.
示例如下:
File docFile = new File("orders.xml");
Document doc = null;

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(docFile); // get the document.

因为Dom 是基于树结构,所以要全部结构内容读入内容,构造树,所以比较花费时间,但是dom 的操作可以反复的来回操作,灵活性比较高,做出的程序结构也比较容易认可,对于那些性能要求不是很高的,内容比较少的,xml上下结构比较复杂的用dom应该是比较好的选择了。

更多相关文章

  1. Android项目Android Studio目录结构
  2. Android 进阶——Android Studio 项目结构详细述及Gradle脚本语
  3. 原始Android的目标机代码结构
  4. Android 5.1.1 源码目录结构
  5. Android面试系列2018总结(全方面覆盖Android知识结构)
  6. Android数据传递相关内容概述
  7. AndroidManifest.xml中的内容详解
  8. sqlite3 表结构查询
  9. Android Studio基础之项目目录结构(四)-学习篇

随机推荐

  1. tideways+toolkit对php代码进行性能分析
  2. php+nodeJs+thrift协议,实现zookeeper节点
  3. PHP写时复制(Copy On Write)
  4. PHP中的闭包
  5. PHP 中使用 TUS 协议来实现大文件的断点
  6. 大括号在php中的一些作用
  7. PHP 反射之动态代理
  8. thinkphp常用系统配置大全
  9. php跨域的几种方式
  10. 细数PHP中16个高危函数