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(安卓)Parcelable 源码解析
  2. Android项目Android(安卓)Studio目录结构
  3. Android的源代码结构
  4. Android(安卓)进阶——Android(安卓)Studio 项目结构详细述及Gra
  5. 原始Android的目标机代码结构
  6. Android(安卓)DOM解析XML
  7. Android(安卓)xml资源文件animal动画解析
  8. Android使用XML全攻略(2)
  9. 花了 6 个月整理了 100 篇 Android(安卓)干货文章

随机推荐

  1. android SQLiteDatabase之一
  2. AS gradle
  3. Android部分手机拍照上传返回为空处理
  4. Android App 多语言切换
  5. 基于ARouter的组件化开发
  6. (4.2.14)【android开源工具】常用网址
  7. Android 在一个应用中如何启动另外一个已
  8. Windows下 ndk 编译程序
  9. Android volley框架加载网络图片
  10. 区分Android 和IOS