android之XmlResourceParser类使用实例

标签: android xmlresourceparser 实例 | 发表时间:2012-03-01 23:41 | 作者:
出处:http://www.iteye.com

   android开发过程会经常使用XML文件,下面提供小实例,看看XmlResourceParser类是怎么样解析XML文件的。

XML文件名称为test.xml。内容如下:

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<customer name="luopeng"  age="21"  gender="1" emial="[email protected]"/>
	<customer name="dylan"  age="22"  gender="2"  emial="[email protected]"/>
	<customer name="android"  age="6"  gender="2"  emial="[email protected]"/>
</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();
				}
			}
		});
	}
}

 运行结果如下图:




已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [android xmlresourceparser 实例] 推荐:

android之XmlResourceParser类使用实例

- - ITeye博客
   android开发过程会经常使用XML文件,下面提供小实例,看看XmlResourceParser类是怎么样解析XML文件的. XML文件名称为test.xml.  布局文件main.xml内容如下:.  如下则是具体解析XML文件的类TestXmlResourceParserActivity.java:.

Android与js交互实例

- - CSDN博客移动开发推荐文章
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true. Android(Java)与JavaScript(HTML)交互有四种情况:. 1) Android(Java)调用HTML中js代码. 2) Android(Java)调用HTML中js代码(带参数).

Android数据库升级实例

- - BlogJava-qileilove
  Andoird的SQLiteOpenHelper类中有一个onUpgrade方法. 经过实践,解决了我一连串的疑问:. 帮助文档里说的“数据库升级”是指什么.   你开发了一个程序,当前是1.0版本. 到1.1版本时,你在数据库的某个表中增加了一个字段. 那么软件1.0版本用的数据库在软件1.1版本就要被升级了.

[Android实例] 利用Jsoup解析Html实现的Android招聘信息大全

- - CSDN博客推荐文章
看到很多招聘网站都没有推出招聘信息客户端,想来利用现成的资源,解析他们网站上提供招聘信息,这里就利用了Jsoup来解析HTML中的数据,实现整理归纳,然后显示的一个程序,也算是一个学习的程序吧,这里,我们先看一下图片,以下就程序源码. 源码下载: 点击打开链接. 作者:kangkangz4 发表于2011-12-13 11:09:34 原文链接.

Android Service的使用方法 音乐播放器实例

- - ITeye博客
Service翻译成中文是服务,熟悉Windows 系统的同学一定知道很熟悉了. Android里的Service跟Windows里的Service功能差不多,就是一个不可见的进程在后台执行,避免被用户误关闭. 因为Android在某些情况下会自动关闭非前台显示的Activity,所以如果要让一个功能在后台一直执行,不被Android系统关闭,比如说闹钟、后台播放音乐,就必须使用Service.

android开发中WebView控件的实例与注意要点——个人主页浏览器简易实现

- - 浏览器 - 互联网 - ITeye博客
    在Android开发中往往需要实现网页的浏览,webview就是android开发控件中功能极其强大的一员,它完全可以充当一个简易的浏览器,能够自己设置主页. 试想,用自己开发的app把主页设成自己技术博客地址,一打开便进入了自己的空间,何其的方便.     在webview使用中有以下几点需要注意:.

Android 遥控车

- CasparZ - LinuxTOY
您确定您真的会用 Android 手机玩赛车. 16 岁的法国学生 Jonathan Rico 使用 Android 手机通过蓝牙实现了对改装玩具汽车的遥控. 操控的方式和那些标榜的智能手机游戏一样,使用重力感应,差别是这次控制的是现实世界中的遥控汽车. 收藏到 del.icio.us |.

Android免费?毛

- Ruby - FeedzShare
来自: 36氪 - FeedzShare  . 发布时间:2011年08月17日,  已有 2 人推荐. 微软CEO Steve Ballmer在预测竞争对手产品时通常口无遮拦. 比如他去年抨击Google的Android战略时,很多人都不屑一顾. 接着Android蚕食了微软的地盘,后来又开始侵犯苹果的地盘.

GetEd2k (Android应用)

- 某牢 - eMule Fans 电骡爱好者
GetEd2k是一个Android应用程序,作者是anacletus. 此应用可以帮助你把网页中的电驴(eDonkey) 链接添加到你个人电脑的电驴客户端里,不过前提是你的客户端开启了用于远程控制的Web interface(Web服务器,网页接口,Web界面),当然,eMule(电骡), MLDonkey 和 aMule 都支持该功能,所以这三种主流电驴客户端的用户都可以使用GetEd2k.