android开发过程会经常使用XML文件,下面提供小实例,看看XmlResourceParser类是怎么样解析XML文件的。
XML文件名称为test.xml。内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<customer name="luopeng" age="21" gender="1" emial="dylankeepmoving@163.com"/>
<customer name="dylan" age="22" gender="2" emial="710097663@qq.com"/>
<customer name="android" age="6" gender="2" emial="android@gmail.com"/>
</resources>
布局文件main.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textview01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/btn01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn01"
/>
<EditText
android:id="@+id/edittext01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/eidttext01"
/>
</LinearLayout>
如下则是具体解析XML文件的类TestXmlResourceParserActivity.java:
package com.dylan.xmlresourceparser;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.content.res.Resources;
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;
/*
* 此类的作用是点击按钮后在EditView上显示资源文件(一个XML)中的内容
* 此例中会使用到XMLResourceParser
*/
public class TestXmlResourceParserActivity extends Activity {
/** Called when the activity is first created. */
private EditText et;
private Button myButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 变量在内部类中使用的前提是此变量必须是final修饰的
myButton = (Button) this.findViewById(R.id.btn01);
et = (EditText) this.findViewById(R.id.edittext01);
myButton.setOnClickListener(new OnClickListener() {
StringBuilder sb = new StringBuilder("");
Resources res = getResources();
XmlResourceParser xrp = res.getXml(R.xml.test);
@Override
public void onClick(View v) {
int counter = 0;
try {
// 判断是否到了文件的结尾
while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {
//文件的内容的起始标签开始,注意这里的起始标签是test.xml文件里面<resources>标签下面的第一个标签
if (xrp.getEventType() == XmlResourceParser.START_TAG) {
String tagname = xrp.getName();
if (tagname.endsWith("customer")) {
counter++;
sb.append("这是第" + counter + "客户"+"\n");
sb.append("姓名:"+xrp.getAttributeValue(0)+"\n");
sb.append("年龄:"+xrp.getAttributeValue(1)+"\n");
sb.append("性别:"+xrp.getAttributeValue(2)+"\n");
sb.append("邮箱:"+xrp.getAttributeValue(3)+"\n\n");
}
}
// 下面的两个else if什么作用呢?
else if (xrp.getEventType() == XmlResourceParser.END_TAG) {
} else if (xrp.getEventType() == XmlResourceParser.TEXT) {
}
xrp.next();
}
//程序细节注意的地方,StringBuilder要条用toString()方法,不要粗心忘记了
et.setText(sb.toString());
} catch (XmlPullParserException e) {
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
运行结果如下图:
- 大小: 27.1 KB
分享到:
相关推荐
Android Studio实例源码,主要介绍常用app的代码
android中View的基本使用实例,对初学者很有帮助哦
Android菜单、对话框使用实例源码,,基本使用
android进度条的基本使用实例,对初学者还是很有帮助的哦
android开发sqliteDataBase使用实例
Android安卓应用程序开发实例源码合集: 7个经典Android应用程序实例源代码.rar Android 培训--18个单项功能实例源码.rar Android 小项目开发示例大全--20个通用具体应用程序实例源码.rar Android 文件下载功能Java...
使用简单的方法实现类似京东商品三级分类、没有加特效和动画。
Android中preference的使用,使用详解.
Android之Sqlite数据库操作实例
源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...
Android实例之[Android实例] Android 竖着的SeekBar
Android Studio下的串口通信实例项目,已通过测试。可实现对于串口的设置、打开、发送、接收等操作
android 实例源码 集合各种实例源码
Android实例helloworldAndroid实例helloworldAndroid实例helloworldAndroid实例helloworldAndroid实例helloworldAndroid实例helloworldAndroid实例helloworld
Android 入Android 入门实例门实例Android 入门实例Android 入Android 入门实例Android 入门实例门实例
Android核心技术与实例详解 第2版
《Android核心技术与实例详解》以Android应用程序的开发为主题,并结合真实的案例向读者详细介绍了.Android的基本组件的使用及应用程序开发的整个流程。全书分为三篇共18章,第一篇以简单易懂的实例为依托,详细介绍...
Android学习 各组件学习实例 网格视图,图像切换,列表视图,单选按钮组,进度条,画廊,日期选择器,复选框等
Android Camera使用实例
android核心技术与实例详解光盘源代码13---18章