Android 使用原始xml资源
来源:互联网 发布:深圳软件开发工资水平 编辑:程序博客网 时间:2024/05/16 19:42
原始XML资源一般保存在/res/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文档进行解析。Pull解析方式类似SAX解析,它们都采用事件驱动的方式来进行解析。当Pull解析器开始解析之后,开发者可以不断地调用Pull解析器的next()方法获取下一个解析事件(开始文档、结束文档、开始标签、结束标签等),当处于某个元素处时,可调用XmlPullParser的
getAttributeValue()方法来获取该元素的属性值,也可以调用XmlPullParser的nextText()方法来获取文本节点的值。
<?xml version="1.0" encoding="utf-8"?><books xmlns:android="http://schemas.android.com/apk/res/android"> <book price="109.0" 出版日期="2008年">疯狂Java讲义</book> <book price="108.0" 出版日期="2009">轻量级Java EE</book> <book price="79.0" 出版日期="2009">Ajax 讲义</book></books>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="shortcut.song.com.myapplication.XmlParserDemo"> <Button android:id="@+id/start_xml_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Start-XML" /> <TextView android:id="@+id/xml_text_show" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
package shortcut.song.com.myapplication;import android.content.res.XmlResourceParser;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import org.xmlpull.v1.XmlPullParserException;import java.io.IOException;public class XmlParserDemo extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xml_parser_demo); Button btn = (Button)findViewById(R.id.start_xml_btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { XmlResourceParser xrp = getResources().getXml(R.xml.books); try{ StringBuilder sb = new StringBuilder(""); while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) { if ( xrp.getEventType() == XmlResourceParser.START_TAG ) { String tagName = xrp.getName(); if(tagName.equals("book")){ String bookName = xrp.getAttributeValue(null, "price"); sb.append("价格:"); sb.append(bookName); String bookPrice = xrp.getAttributeName(1); sb.append(bookPrice); sb.append("书名"); sb.append(xrp.nextText()); } sb.append("\n"); } xrp.next(); } TextView tv = (TextView)findViewById(R.id.xml_text_show); tv.setText(sb.toString()); }catch (XmlPullParserException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } } }); }}
阅读全文
0 0
- Android 使用原始XML资源
- Android 使用原始xml资源
- Android---原始XML资源
- 使用原始XML资源
- Android 使用原始资源
- 使用原始的XML资源
- 使用原始的XML资源
- Android原始资源的使用
- android之使用原始资源
- android之使用原始资源
- Android中使用Xml内置解析器pull来解析Xml原始资源
- 样式、主题、原始XML资源、Android程序国际化、Menu资源
- 原始XML资源
- 原始XML资源
- Android读取资源文件——读取原始Xml内容和使用Menu文件
- Android实战技巧:使用原始资源文件
- Android中原始资源文件使用详解
- Android中原始资源文件使用详解
- FTP连接图片上传工具类
- python 位运算
- tomcat部署项目方式
- 如何解决电脑无法访问个别网站
- Opencv显示图片的窗口大小
- Android 使用原始xml资源
- 线性筛法求素数
- 一次性加载数据,前端分页
- 我们为什么应该坚持写博客
- 课程
- 【算法】程序猿不写代码是不对的69
- CodeM资格赛第二题
- 虚拟机栈溢出之这个例子谨慎运行
- 微信小程序 自定义浮层(弹出对话框为例)