原始XML资源一般保存在/res/xml路径下——当使用ADT创建Android应用时,/res/目录下并没有包含该目录,开发者应该自行手动创建xml目录。

接下来Android应用对原始XML资源没有任何特殊的要求,只要它是一份格式良好的XML文档即可。

一旦成功定义了原始XML资源,接下来在XML文件中可通过如下语法格式来访问它:

@[<package_name>:]xml/file_name

在Java代码中则按如下语法格式来访问它:

[<package_name>.]R.xml.<file_name>

为了在Java程序中获取实际的XML文档,可以通过Resources的如下两个方法来获取。

  • XmlResourceParser getXml(int id):获取XML文档,并使用一个XmlPullParser来解析该XML文档,该方法返回一个解析器对象(XmlResourceParser是XmlPullParser的子类)。
  • InputStream openRawResource(int id):获取XML文档对应的输入流。

大部分时候,我们可以直接调用getXml(int id)方法来获取XML文档,并对该文档进行解析。Android默认使用内置的Pull解析器来解析XML文件。

除了Pull解析之外,Java开发者还可使用DOM或SAX对XML文档进行解析。一般的Java应用会使用JAXP API来解析XML文档。对于实际的Java EE项目而言,使用JDOM或dom4j进行解析可能更加简便。

Pull解析方式有点类似于SAX解析,它们都采用事件驱动方式来进行解析。当Pull解析器开始解析之后,开发者可不断地调用Pull解析器的next()方法获取下一个解析事件(开始文档、结束文档、开始便签、结束便签等),当处于某个元素处时,可调用XmlPullParser的nextText()方法获取文本节点的值。

如果开发者希望使用DOM、SAX或者其他解析器来解析XML资源,那么可调用openRawResource(int id)方法来获取XML资源对应的输入流,这样即可自行选择解析器来解析指定XML资源了。

最新文章

  1. 深入研究C语言 第三篇
  2. 在Ubuntu中安装Python3
  3. .net Excel乱码
  4. java 通过控制台输入的数字打印菱形字母
  5. LR11启动卡修改
  6. 低功耗蓝牙4.0BLE编程-nrf51822开发(10)-描述符
  7. 160909、Filter多方式拦截、禁用IE图片缓存、Filter设置字符编码
  8. Python语言精要---下
  9. 旧版Xcode下载地址
  10. wsdlLocation可以写成项目的相对路劲吗
  11. navicat导入mysql数据库sql时报错或数据不完全问题
  12. NOI 评价体系 arbiter 安装方法 常见的问题 移植
  13. node.js后台快速搭建在阿里云(一)(express篇)
  14. react-redux中的数据传递
  15. Indent Guides插件格式代码
  16. 联合索引在B+树上的结构
  17. 舞蹈链 DLX
  18. 彻底理解Netty,这一篇文章就够了
  19. mybatis分页插件Mybatis_PageHelper 简单案例
  20. 【struts2】struts2的execAndWait拦截器使用

热门文章

  1. PL/SQL DEVELOPER 导出表数据
  2. 2016沈阳网络赛 QSC and Master
  3. Tree of Life (easy)
  4. [Java]读取文件方法大全(转)
  5. decimal 和 numeric (Transact-SQL)
  6. 强制删除sql用户链接
  7. PS2鼠标+LCD12864实验——终于OK 了
  8. Shell实例----------从文件夹里面多个文件里面查找指定内容
  9. Objective C HMAC-MD5
  10. java 生成不重复的随机数