public class MainActivity extends Activity {
private Button btn = null;
private List<Map<String,String>> list = null;
private XmlResourceParser xrp = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btn = (Button)findViewById(R.id.btn); list = new ArrayList<Map<String,String>>(); xrp = this.getResources().getXml(R.xml.students); btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Map<String,String> map = null;
String tag = "";
try {
while(xrp.getEventType() != XmlResourceParser.END_DOCUMENT){
switch(xrp.getEventType()){
case XmlResourceParser.START_TAG:
tag = xrp.getName();
if(tag.equalsIgnoreCase("student")){
map = new HashMap<String,String>();
}else if(map != null){
if(tag.equalsIgnoreCase("id")){
map.put("id", xrp.nextText());
}else if(tag.equalsIgnoreCase("name")){
map.put("name", xrp.nextText());
}
}
break;
case XmlResourceParser.END_TAG:
if(xrp.getName().equalsIgnoreCase("student") && map!=null){
list.add(map);
map = null;
}
break;
}
xrp.next();
}
}catch (XmlPullParserException e) {
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
} for(int i=0; i<list.size(); i++){
Log.d("+id+", list.get(i).get("id"));
}
}
});
}
}

xml/students.xml

<?xml version="1.0" encoding="UTF-8"?>
<students>
<student>
<id>1</id>
<name>张三</name>
</student>
<student>
<id>2</id>
<name>李四</name>
</student>
<student>
<id>3</id>
<name>王五</name>
</student>
</students>

使用PULL方式解析XML资源文件下面的xml文件的更多相关文章

  1. Android 读取assets文件下的txt文件

    android 读取assets文件下的txt文件,解决了读取txt文件的乱码问题: package com.example.com.scrollview; import java.io.Buffer ...

  2. php 获取文件下的所有文件。php 获取文件下的所有子文件。php 递归获取文件下的所有文件。封装好的方法

    //php 获取文件下的所有文件.php 获取文件下的所有子文件.php 递归获取文件下的所有文件.直接上封装好的php代码 <?php //文件路径 $dir = dirname(__FILE ...

  3. SAP BO WebI 如何连接webi server folder下面的EXCEL文件作为数据源

    昨天做Webi Report,需要连接一个在Webi Server Folder下面的EXCEL文件作为数据源,然后再去生成相应的报表,找了半天才找到可以连接Webi Server Folder的EX ...

  4. 使用pull方式解析xml文件示例:

    网上的示例太多,基本类似,个人在此做个简单的总结: 1.首先在工程的asserts目录下建一个book.xml文件: <?xml version="1.0" encoding ...

  5. 下载放在resource下面的excel文件

    1.将excel文件放项目resources目录下 2.打包的时候排除指定后缀文件,否则打包时会出现文件损坏的情况 <configuration> <encoding>UTF- ...

  6. android在当前app该文件下创建一个文件夹

    /*********************************************************************  * Author  : Samson  * Date   ...

  7. Pull方式解析XML文件

    package com.pingyijinren.test; import android.content.Intent; import android.os.Handler; import andr ...

  8. ssm中整合Mybatis可以扫描到放在mapper下面的xml文件的方法

    mybatis配置时出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解决方法有两种: ...

  9. 解决android中Layout文件下的xml文件配好后,R类中不能自动生成相应代码

    不能更新的原因: 1.在xml文件中代码错误或者格式错误 2.eclipse 编译器是老版本 3.布局文件的文件名有大写字母 4.含有相同文件名.格式的xml文件 解决方法: 1.找到出错的xml文件 ...

随机推荐

  1. 异曲同工的AWK语句,学习

    输出每个IP的网络连接数,是作很多事情的第一步: netstat -nat | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n ne ...

  2. 俄罗斯人开发的等待控件TfgActivityDialog

    http://blog.csdn.net/star1010/article/details/28674173

  3. bash与sh的区别

    在shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本.目前研发送测的shell脚本中主要有以下两种方式:(1) #!/bin/sh(2) #!/bin/bash在这里求教同福客栈的各位 ...

  4. 在Visual Studio 2013中编译libssh2项目

     一. 下载需要的外部包,并解压,下面给出的链接如果无法访问,就google搜索下载一下: •下载openssl •下载zlib 二.修改libssh2项目配置: 1.C/C++->Gene ...

  5. 一台机器同时运行多个appium实例

    测试需要同时在多个android设备上运行,就需要启动多个appium 第一台是运行微信: DesiredCapabilities capabilities = new DesiredCapabili ...

  6. qt tablewidget中单个和批量删除代码如下(部分)截图如下

    def coltable(self):#行删除    row=self.downwidget.currentRow()    select=self.downwidget.isItemSelected ...

  7. pyqt cvs保存

    # -*- coding: utf-8 -*-__author__ = 'Administrator'import sys, csvfrom PyQt4 import QtGui, QtCore cl ...

  8. 关于C#中的弱引用

    本文前部分来自:http://www.cnblogs.com/mokey/archive/2011/11/24/2261605.html 分割线后为作者补充部分. 一:什么是弱引用 了解弱引用之前,先 ...

  9. openstack中glance组件images的全部python API 汇总

    感谢朋友支持本博客,欢迎共同探讨交流.因为能力和时间有限.错误之处在所难免,欢迎指正! 假设转载,请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  10. 初探HTML

    就在今天我抱着试一试的态度稍微看了下HTML5, 尝试着接触一点新知识, 虽然学的并不多, 但是还是异常的兴奋, 感觉有好多东西和之前的不一样了, 包括控件的创建和一些属性的设置等, 总之这些变化与改 ...