初学Android,使用自定义的XML资源(十八)
来源:互联网 发布:js获取class元素 编辑:程序博客网 时间:2024/06/08 19:17
使用自定义的XML资源,这当然也必须是Android的一个功能,Java开发者可以使用DOM,SAX等多种方式,Android内建了Pull来解析XML
那么我个人觉得在Android中还是使用它的内建解析方法比较好,使用其它方式还要下载它们的Jar包,还是挺麻烦的.
那么我个人觉得在Android中还是使用它的内建解析方法比较好,使用其它方式还要下载它们的Jar包,还是挺麻烦的.
同样的,和动画资源一样,XML资源也没有默认创建,需要自己手动创建res/xml
下面先定义一个xml文件,然后再解析它res/xml中创建books.xml
<?xml version="1.0" encoding="utf-8"?><books> <book price="99.0" 出版日期="2008年">Java</book> <book price="89.0" 出版日期="2009年">Jave EE</book> <book price="69.0" 出版日期="2009年">Ajax</book></books>下面在主界面中放一个按钮,点击时解析XML,然后显示在下面的文本框里面
package WangLi.Resouce.XmlResTest;import java.io.IOException;import org.xmlpull.v1.XmlPullParserException;import android.app.Activity;import android.content.res.XmlResourceParser;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class XmlResTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button bn = (Button)findViewById(R.id.bn); bn.setOnClickListener(new OnClickListener(){ public void onClick(View arg0) { //根据XML资源的ID获取解析该资源的解析器 //XmlResourceParser是XmlPullParser的子类 XmlResourceParser xrp = getResources().getXml(R.xml.books); try { StringBuilder sb = new StringBuilder(""); //还没有到XML文档的结尾处 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("出版日期:"); sb.append(bookPrice); sb.append("书名:"); //获取文本节点的值 sb.append(xrp.nextText()); } sb.append("\n"); } //获取解析器的下一个事件 xrp.next(); } EditText show = (EditText)findViewById(R.id.show); show.setText(sb.toString()); } catch(XmlPullParserException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } }); }}效果如下,当点击按钮时,文本框出现解析的XML文件内容
- 初学Android,使用自定义的XML资源(十八)
- Android 使用自定义的xml资源
- Android使用自定义的XML资源
- Android 资源的使用之XML资源
- android 中ids.xml资源的使用
- android 中ids.xml资源的使用
- android 中ids.xml资源的使用
- android 中ids.xml资源的使用
- Android-自定义图像资源的使用
- Android-自定义图像资源的使用(续)
- Android-自定义图像资源的使用2
- Android-自定义图像资源的使用1
- Android-自定义图像资源的使用
- Android开发系列(十八):自定义控件样式在drawable文件夹下的XML实现
- android游戏开发框架libgdx的使用(十八)—资源加载管理AssetManager的使用
- 初学Android,使用菜单资源(十九)
- 初学Android,使用原始资源(二十三)
- 初学Android,使用菜单资源(十九) .
- 关于android布局的两个属性dither和tileMode
- python os.fork()
- 打印系统属性System.getProperties()
- hash_map
- thinkphp登陆
- 初学Android,使用自定义的XML资源(十八)
- oracle 千万级别同一数据库 不同scheme下的数据导入
- 【hdu】 What Are You Talking About (水题 STL)
- poj 2352 Stars (树状数组)
- 漂浮的移动广告 碰到边框改变移动路径
- 图像缩放函数
- J2SE基础夯实系列之静态导入,foreach循环,可变参数
- SharePoint2010 Feature功能开发——为SharePoint的ECB菜单(列表项或文档的操作菜单项)添加自定义菜单栏项目
- 三大框架SSH(struts2+spring+hibernate)整合时相关配置文件的模板