代码:
package com.hbjp.practice; import java.io.IOException; import org.xmlpull.v1.XmlPullParserException; import android.os.Bundle; import android.app.Activity; import android.content.res.Resources; import android.content.res.XmlResourceParser; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { private TextView myTextView; private Button myButton; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myTextView = (TextView) findViewById(R.id.textView1); myButton = (Button) findViewById(R.id.mybutton); // 设置按钮监听器 myButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { // 设置计数器 int counter = 0; // 实例化StringBuilder StringBuilder sb = new StringBuilder(""); // 得到Resources资源 Resources r = getResources(); // 通过Resources,获得XmlResourceParser实例 XmlResourceParser xrp = r.getXml(R.layout.colors); // 如果没有到文件尾继续执行 while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) { if (xrp.getEventType() == XmlResourceParser.START_TAG) { // 获取标签名称 String name = xrp.getName(); // 判断标签名称是否等于friend if (name.equals("color")) { counter++; // 获得标签属性追加到Stringbuilder中 sb.append("第" + counter + "个color信息"+ "n"); sb.append(xrp.getAttributeValue(0) + "n"); String color=xrp.nextText(); sb.append(color+ "n"); } else if (xrp.getEventType() == XmlResourceParser.END_TAG) { } else if (xrp.getEventType() == XmlResourceParser.TEXT) { //sb.append(xrp.getText()); } } // 下一个标签 xrp.next(); } myTextView.setText(sb.toString()); } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); } }
待解析文件:
显示效果图:
http://www.ibm.com/developerworks/cn/xml/dm-1208gub/ xml解析 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|