假设我要解析如下的XML文件:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <books>
  3. <book price="99.0" 出版日期="2008年">疯狂java讲义</book>
  4. <book price="199.0" 出版日期="2009年">疯狂android讲义</book>
  5. <book price="79.0" 出版日期="2010年">疯狂讲义</book>
  6. </books>

首先将该文件放到res/xml文件夹下,如果没有可以手动建立,然后解析代码如下:

  1. public void xmlparser(View v) {
  2.  
  3. XmlResourceParser xmlResourceParser = getResources().getXml(R.xml.books);// 获取xml文件的解析器
  4. try {
  5. StringBuilder sb = new StringBuilder();
  6. while (xmlResourceParser.getEventType() != XmlResourceParser.END_DOCUMENT) {// 如果没有到文档的结尾处
  7. if (xmlResourceParser.getEventType() == XmlResourceParser.START_TAG) {// 如果遇到标签的开始标记,就开始读取类容
  8. // 获取标签的签名
  9. String tagName = xmlResourceParser.getName();
  10. if (tagName.equals("book")) {
  11.  
  12. String bookPrice = xmlResourceParser.getAttributeValue(0);// 获取标签中的第一个属性的值,这里是“price”的值
  13. String bookdata = xmlResourceParser.getAttributeValue(1);// 获取标签中的第二个属性的值,这里是“出版日期”的值
  14. String bookName = xmlResourceParser.nextText();// 获取文本节点的值,这里是书的名字
  15.  
  16. sb.append("价格:");
  17. sb.append(bookPrice);
  18. sb.append("出版日期:");
  19. sb.append(bookdata);
  20. sb.append("书名:");
  21. sb.append(bookName);
  22. sb.append("\n");
  23. }
  24.  
  25. }
  26. xmlResourceParser.next();// 获取解析器的下一个事件
  27.  
  28. }
  29.  
  30. textView.setText(sb.toString());
  31.  
  32. } catch (XmlPullParserException e) {
  33. e.printStackTrace();
  34.  
  35. } catch (IOException e) {
  36. e.printStackTrace();
  37. }
  38.  
  39. }

解析后的结果如下:

Android中解析XML的方法的更多相关文章

  1. android 中解析XML的方法(转)

    在XML解析和使用原始XML资源中都涉及过对XML的解析,之前使用的是 DOM4J和 XmlResourceParser 来解析的.本文中将使用XmlPullParser来解析,分别解析不同复杂度的t ...

  2. Android中解析XML格式数据的方法

    XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...

  3. [置顶] Android学习系列-Android中解析xml(7)

    Android学习系列-Android中解析xml(7) 一,概述 1,一个是DOM,它是生成一个树,有了树以后你搜索.查找都可以做. 2,另一种是基于流的,就是解析器从头到尾解析一遍xml文件.   ...

  4. Android中解析XML

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...

  5. android中解析文件的三种方式

    android中解析文件的三种方式     好久没有动手写点东西了,最近在研究android的相关技术,现在就android中解析文件的三种方式做以下总结.其主要有:SAX(Simple API fo ...

  6. Android DOM解析XML方法及优化

    在Android应用开发中,我们常常要在应用启动后从服务器下载一些配置文件,这些配置文件包含一些项目中可能用到的资源,这些文件很多情况下是XML文件,这时就要将XML下载到文件中保存,之后再解析XML ...

  7. 用 ElementTree 在 Python 中解析 XML

    用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...

  8. 【转】Android中JNI的使用方法

    Android中JNI的使用方法 首先看一下Android平台的框架图:(网上盗用) 可以看到Android上层的Application和ApplicationFramework都是使用Java编写, ...

  9. 修改Android中strings.xml文件, 动态改变数据

    有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name=&qu ...

随机推荐

  1. Oracle错误

    System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 这个是我页面报的错误,请帮解答 在错误出现的时候我第一时间现在了一个oracle客户端软件,然 ...

  2. 《Differential Equations with Boundary-Value Problems》-chaper2-一阶线性方程

    学习微分方程中,一个很常见的疑惑就是,我们所熟悉的非齐次微分方程的通解是对应齐次方程的通解加特解,但是更为重要的是,我们需要知道这句话是怎么得来的. 我们探讨一个未知问题的一般思路是将其不断的与已知已 ...

  3. ubuntu遇到包依赖问题出错的解决方法

    更新时遇到了libc6包依赖错误,甚至“sudo apt-get -f install“也会报错, 这时候可以使用下列命令删除包后重新安装dpkg -r --force-all 包名称 然后再sudo ...

  4. Caffe 在 Ubuntu 中安装

    Ubuntu Installation General dependencies sudo apt-get install libprotobuf-dev libleveldb-dev libsnap ...

  5. PHP学习笔记-00

    PHP这门语言的就不用多说啦,使用率非常高的一门后端开发语言.之前一直希望可以学习了解一下PHP.之前主要在做Java和OC这类语言的开发,对于PHP这种脚本语言(动态语言)还是了解甚少. 近期看了一 ...

  6. 在C#中如何确定一个文件是不是文本文件,以及如何确定一个文件的类型

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在C#中如何确定一个文件是不是文本文件,以及如何确定一个文件的类型.

  7. [C#] 常用工具类——直接在浏览器输出数据

    /// <summary> /// <para> </para> /// 常用工具类——直接在浏览器输出数据 /// <para> ---------- ...

  8. 在内核外编写的linux驱动程序MAKEFILE

    一般都是这么写: ifneq ($(KERNELRELEASE),) obj-m :=  else KERNELDIR ?= /lib/modules/$(shell uname -r)/build ...

  9. [CSS] Targeting Elements with CSS Attribute Selectors

    Beyond classes and IDs CSS also provides selectors to target element based on their attributes. In t ...

  10. android 60 发送短信

    import android.os.Bundle; import android.app.Activity; import android.telephony.SmsManager; import a ...