Android中解析XML的方法
假设我要解析如下的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book price="99.0" 出版日期="2008年">疯狂java讲义</book>
<book price="199.0" 出版日期="2009年">疯狂android讲义</book>
<book price="79.0" 出版日期="2010年">疯狂讲义</book>
</books>
首先将该文件放到res/xml文件夹下,如果没有可以手动建立,然后解析代码如下:
public void xmlparser(View v) {
XmlResourceParser xmlResourceParser = getResources().getXml(R.xml.books);// 获取xml文件的解析器
try {
StringBuilder sb = new StringBuilder();
while (xmlResourceParser.getEventType() != XmlResourceParser.END_DOCUMENT) {// 如果没有到文档的结尾处
if (xmlResourceParser.getEventType() == XmlResourceParser.START_TAG) {// 如果遇到标签的开始标记,就开始读取类容
// 获取标签的签名
String tagName = xmlResourceParser.getName();
if (tagName.equals("book")) {
String bookPrice = xmlResourceParser.getAttributeValue(0);// 获取标签中的第一个属性的值,这里是“price”的值
String bookdata = xmlResourceParser.getAttributeValue(1);// 获取标签中的第二个属性的值,这里是“出版日期”的值
String bookName = xmlResourceParser.nextText();// 获取文本节点的值,这里是书的名字
sb.append("价格:");
sb.append(bookPrice);
sb.append("出版日期:");
sb.append(bookdata);
sb.append("书名:");
sb.append(bookName);
sb.append("\n");
}
}
xmlResourceParser.next();// 获取解析器的下一个事件
}
textView.setText(sb.toString());
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
解析后的结果如下:

Android中解析XML的方法的更多相关文章
- android 中解析XML的方法(转)
在XML解析和使用原始XML资源中都涉及过对XML的解析,之前使用的是 DOM4J和 XmlResourceParser 来解析的.本文中将使用XmlPullParser来解析,分别解析不同复杂度的t ...
- Android中解析XML格式数据的方法
XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...
- [置顶] Android学习系列-Android中解析xml(7)
Android学习系列-Android中解析xml(7) 一,概述 1,一个是DOM,它是生成一个树,有了树以后你搜索.查找都可以做. 2,另一种是基于流的,就是解析器从头到尾解析一遍xml文件. ...
- Android中解析XML
XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...
- android中解析文件的三种方式
android中解析文件的三种方式 好久没有动手写点东西了,最近在研究android的相关技术,现在就android中解析文件的三种方式做以下总结.其主要有:SAX(Simple API fo ...
- Android DOM解析XML方法及优化
在Android应用开发中,我们常常要在应用启动后从服务器下载一些配置文件,这些配置文件包含一些项目中可能用到的资源,这些文件很多情况下是XML文件,这时就要将XML下载到文件中保存,之后再解析XML ...
- 用 ElementTree 在 Python 中解析 XML
用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...
- 【转】Android中JNI的使用方法
Android中JNI的使用方法 首先看一下Android平台的框架图:(网上盗用) 可以看到Android上层的Application和ApplicationFramework都是使用Java编写, ...
- 修改Android中strings.xml文件, 动态改变数据
有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name=&qu ...
随机推荐
- 基于UDP协议的控制台聊天
这几天学了java的网络编程弄出一个基于UDP协议的聊天工具 功能 添加并且备注好友(输入对方的ip) 删除好友 查看好友列表 用java写的控制台程序导出可执行程序后不能双击打开 还需要些一个脚本文 ...
- Yii之权限管理扩展 srbac
最近在研究 Yii 的权限控制功能,尽管Yii 自身提供了一个简单的权限管理,但是很多时候,我们还是需要对其做一点扩展. 在这里,我向大家推荐一个不错的扩展:SRBAC. 在Yii的官方网站的exte ...
- 微信小程序资料集合
一:官方地址集合: 1:官方工具:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=1476434678461 2: ...
- Pgsql数据库jsonb操作函数集合
CREATE OR REPLACE FUNCTION "json_object_del_path"( "json" json, "key_path&q ...
- Sublime_text3怎么发现PHP语法错误?
昨晚因为php的某个变量代码写错了,sublime又没有提示语法错误.弄了许久,一段段的调试,最后才知道是取到的变量是空的 sublime可以提示php语法错误 在sublime写完了php代码后,如 ...
- hdu 4523 威威猫系列故事——过生日 小模拟
威威猫系列故事——过生日 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- foreach -begin -process -end
gc d:\vm.txt|foreach -begin {write-host "It's beginning."} -process {$_ +"aa"} ...
- SSH返回Json格式的数据
在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了.在这里以简单的Demo总结两种ssh返回Json格式的数据 项目目录如下 主要是看 上图选择的部分 WebRoot里面就 ...
- c# 请问如何将四个RadioButton分成两组?
WinForm 只要放在同一个容器中的RadioButton 就自动互斥 创建两个panel容器,分别放两个RadioButton 就是两组了
- Android.mk各种文件编译汇总
一.源代码编译 1.1 so预编译 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libAppArea LOCAL ...