1.新建一个xml文件,放在res/xml目录下

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <citys>
  3. <city count="1400" name="深圳">广东</city>
  4. <city count="1500" name="广州">广东</city>
  5. <city count="1000" name="武汉">湖北</city>
  6. </citys>

2.布局文件代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >
  6.  
  7. <Button
  8. android:id="@+id/btn"
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. android:text="@string/btnmsg" />
  12.  
  13. <EditText
  14. android:id="@+id/edit"
  15. android:layout_width="fill_parent"
  16. android:layout_height="wrap_content" />
  17.  
  18. </LinearLayout>

3.后台java解析代码如下:

  1. package ymw.main;
  2.  
  3. import java.io.IOException;
  4.  
  5. import org.xmlpull.v1.XmlPullParserException;
  6.  
  7. import ymw.main.R;
  8.  
  9. import android.app.Activity;
  10. import android.content.res.XmlResourceParser;
  11. import android.os.Bundle;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.EditText;
  15.  
  16. public class XmlResourceParserSampleActivity extends Activity {
  17. @Override
  18. public void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.main);
  21. Button btn = (Button) findViewById(R.id.btn);
  22. final EditText edit = (EditText) findViewById(R.id.edit);
  23. btn.setOnClickListener(new View.OnClickListener() {
  24. @Override
  25. public void onClick(View v) {
  26. XmlResourceParser xpr = XmlResourceParserSampleActivity.this
  27. .getResources().getXml(R.xml.myxml);// 找到xml文件
  28. StringBuilder sb = new StringBuilder();
  29. try {
  30. // 循环解析
  31. while (xpr.getEventType() != XmlResourceParser.END_DOCUMENT) {
  32. if (xpr.getEventType() == XmlResourceParser.START_TAG) {
  33. // 获取标签的标签名
  34. String name = xpr.getName();
  35. if (name.equals("city")) {
  36. sb.append("城市名称:" + xpr.getAttributeValue(1)
  37. + "\n");
  38. sb.append("人口:"
  39. + xpr.getAttributeValue(null, "count")
  40. + "万\n");
  41. try {
  42. sb.append("所属省份:" + xpr.nextText() + "\n\n");
  43. } catch (IOException e) {
  44. e.printStackTrace();
  45. }
  46. }
  47. }
  48. try {
  49. xpr.next();
  50. } catch (IOException e) {
  51. e.printStackTrace();
  52. }
  53. }
  54. edit.setText(sb.toString());
  55. } catch (XmlPullParserException e) {
  56. e.printStackTrace();
  57. }
  58. }
  59. });
  60. }
  61.  
  62. }

Android xmlpull 方式解析xml文件的更多相关文章

  1. 用JAXP的dom方式解析XML文件

    用JAXP的dom方式解析XML文件,实现增删改查操作 dom方式解析XML原理 XML文件 <?xml version="1.0" encoding="UTF-8 ...

  2. 在iOS 开发中用GDataXML(DOM方式)解析xml文件

    因为GDataXML的内部实现是通过DOM方式解析的,而在iOS 开发中用DOM方式解析xml文件,这个时候我们需要开启DOM,因为ios 开发中是不会自动开启的,只有在mac 开发中才自动开启的.我 ...

  3. android——使用pull解析xml文件

    1.persons.xml 将persons.xml文件放到src目录下.其代码如下: <?xml version='1.0' encoding='UTF-8' standalone='yes' ...

  4. android-pull方式解析xml文件以及XML文件的序列化

    android解析XML ---------------------------基础要像磐石 在android平台上可以使用SAX.DOM和自带的Pull解析器解析xml文件,本文主要介绍使用pull ...

  5. Android中pull解析XML文件的简单使用

    首先,android中解析XML文件有三种方式,dom,sax,pull 这里先讲pull,稍候会说SAX和DOM pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐 ...

  6. 用JAXP的SAX方式解析XML文件

    简单用JAXP的SAX方式(事件驱动)解析XML文件: 文件(1.XML) <?xml version="1.0" encoding="UTF-8" st ...

  7. [android] 采用pull解析xml文件

    /***********2016年5月6日 更新**********************/ 知乎:Android 中有哪几种解析 xml 的类,官方推荐哪种 ? 以及它们的原理和区别? 刘吉财: ...

  8. Java&Xml教程(五)使用SAX方式解析XML文件

    Java SAX解析机制为我们提供了一系列的API来处理XML文件,SAX解析和DOM解析方式不太一样,它并不是將XML文件内容一次性全部加载,而是连续的部分加载. javax.xml.parsers ...

  9. Java&Xml教程(二)使用DOM方式解析XML文件

    DOM XML 解析方式是最容易理解的,它將XML文件作为Document对象读取到内存中,然后你可以轻松地遍历不同的元素和节点对象.遍历元素和节点不需要按照顺序进行. DOM解析方式适合尺寸较小的X ...

随机推荐

  1. JAVA课程设计——植物大战僵尸(团队)

    1.团队名称.团队成员介绍 团名:嗷嗷嗷嗷嗷 吴军霖(组长) 写得一手好代码也改得一手好bug 代码整洁好看源于强迫症 大概没有什么不会的东西叭 真正的王者段位 欧阳震霆(组员) 同样擅长写代码 在青 ...

  2. hdu2421(数学,因式分解素数筛)

    Xiaoming has just come up with a new way for encryption, by calculating the key from a publicly view ...

  3. js+jquery 常用选择器函数

    一.获取当前标签 JS: this,如下: <button onclick="fun(this)"></button> Jquery,如下: $(" ...

  4. systemtap没找到函数变量

    为啥systemtap没找到函数 hon@station6:~/codebox/stap/net$ sudo stap -L 'kernel.function("sock_recvmsg_n ...

  5. SQLAlchemy技术文档(中文版)(上)

    在学习SQLAlchemy的过程中,好多时候需要查官方Tutorial,发现网上并没有完整的中文版,于是利用这两天空余时间粗略翻译了一下. 翻译效果很差....但也算是强迫自己通读一遍Tutorial ...

  6. express框架 中间件

  7. 【bzoj2659】[Beijing wc2012]算不出的算式 数论

    题目描述 求,其中p和q是奇质数. 输入 只有一行,两个奇质数,分别表示p,q. 输出 一个数,表示算式结果. 样例输入 5 样例输出 6 题解 数论 神TM数学结论题... 当$p\neq q$时, ...

  8. poj 2226 Muddy Fields (二分匹配)

    Muddy Fields Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7340   Accepted: 2715 Desc ...

  9. [Leetcode] plus one 加一

    Given a number represented as an array of digits, plus one to the number. 题意:给定数以数组的形式存储,然后计算该数加1的值. ...

  10. 你对javascript的原生操作或者工具了解多少呢?

    1.有一个长度未知的数组a,如果它的长度为0就把数字1添加到数组里面,否则按照先进先出的队列规则让第一个元素出队. 分析:这道题主要是考核了数组的队列方法和栈方法.另外,原题还有字数限制的,只有在字数 ...