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