Android中pull解析XML文件的简单使用
首先,android中解析XML文件有三种方式,dom,sax,pull
这里先讲pull,稍候会说SAX和DOM
pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐的解析方式
看代码:
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person id="23">
<name>孙洋洋</name>
<age>30</age>
</person>
<person id="20">
<name>孙彬彬</name>
<age>25</age>
</person>
</persons>
解析代码:
private void readxml() throws IOException, XmlPullParserException {
File xmlfile = new File("/data/person.xml"); //获取文件
XmlPullParser parser = Xml.newPullParser(); //新建解析器
FileInputStream input = new FileInputStream(xmlfile); //获得输入流
parser.setInput(input,"UTF-8"); //给解析器设置输入流
int event = parser.getEventType(); //获得事件类型
while(event != XmlPullParser.END_DOCUMENT) //开始根据时间类型进行操作
{
switch (event)
{
case XmlPullParser.START_TAG:
String nam = parser.getName(); //得到TAG的名字,并比较,是name就把值给sname
if(nam.equals("name"))
{
sname += parser.nextText();
}
break;
case XmlPullParser.END_TAG:
name.setText(sname); //给TEXTVIEW设置上SNAME
break;
}
event = parser.next();//步进
}
//name.setText(sname);
input.close();
}
Android中pull解析XML文件的简单使用的更多相关文章
- android——使用pull解析xml文件
1.persons.xml 将persons.xml文件放到src目录下.其代码如下: <?xml version='1.0' encoding='UTF-8' standalone='yes' ...
- [android] 采用pull解析xml文件
/***********2016年5月6日 更新**********************/ 知乎:Android 中有哪几种解析 xml 的类,官方推荐哪种 ? 以及它们的原理和区别? 刘吉财: ...
- Android -- 创建XML文件对象及其序列化, pull解析XML文件
1. 创建XML文件对象及其序列化 示例代码:(模拟以xml格式备份短信到SD卡) SmsInfo.java, bean对象 /** * 短信的业务bean * @author Administrat ...
- 使用PULL解析XML文件
转载博文1:http://blog.csdn.net/wangkuifeng0118/article/details/7313241 XmlPull和Sax类似,是基于流(stream)操作文件,然后 ...
- 使用XML序列化器生成XML文件和利用pull解析XML文件
首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...
- pull解析xml文件
pull解析xml文件 先自己写一个xml文件,存一些天气信息 拿到xml文件 InputStream is = getClassLoader().getResourceAsStream(" ...
- Android SAX、DOM、Pull解析xml文件剖析与案例讲解
XML介绍 XML(Extensible Markup Language) 即可扩展标记语言,与HTML一样,都是SGML(Standard Generalized Markup Language,标 ...
- Android pull解析xml文件
本文介绍android中使用pull来解析xml文件 先自己写一个xml文件,存一些天气信息 <?xml version="1.0" encoding="UTF-8 ...
- android 生成、pull解析xml文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...
随机推荐
- java从小白到架构师大牛必看书籍
一.基础类 1.<ThinkingJava>,入门第一位是建立正确的概念. 2.<Core Java>,我没系统读过,这本书更贴近实践,更多API的介绍,同样,更新也更频繁. ...
- ural 2014 Zhenya moves from parents
2014. Zhenya moves from parents Time limit: 1.0 secondMemory limit: 64 MB Zhenya moved from his pare ...
- MySQL for Mac在Mac终端导入导出.sql文件
https://www.cnblogs.com/code4app/p/6222310.html 1.导入 打开终端输入:(前提是已经配置过MySQL环境变量) mysql -u root -p cre ...
- luogu 3375 KMP模板题
#include<bits/stdc++.h> using namespace std; ,M = ; int next[N]; void getNext(char s[]) //找nex ...
- uva10815(set的应用)
紫书例题,这道题的例程让我长了知识.以前没有用过cctype和stringstream相关的东西.很实用,值得学习. #include <cctype>的函数 c++中应该是#includ ...
- IEflash遇到flash遮挡
遇到IE中(包括IE6+)弹窗广告要flash遮挡的问题,后来想到了常用的iframe方法(参见<解决IE6 select z-index无效,遮挡div的bug>),最终成功了flash ...
- VS软件版本号定义、规则和相关的Visual Studio插件
http://blog.csdn.net/cnhk1225/article/details/37500593 软件版本号主要标识了软件的版本,通过其可以了解软件.类库文件的当前版本,使得软件版本控制有 ...
- [转]angular的路由机制
在谈路由机制前有必要先提一下现在比较流行的单页面应用,就是所谓的single page APP.为了实现无刷新的视图切换,我们通常会用ajax请求从后台取数据,然后套上HTML模板渲染在页面上,然而a ...
- docker镜像的导入和导出
启动命令 docker run -d -p 3000:80 twang2218/gitlab-ce-zh:9.0.3 docker run -d -p 8080:80 gitlab/gitlab-ce ...
- Spark on yarn的两种模式 yarn-cluster 和 yarn-client
从深层次的含义讲,yarn-cluster和yarn-client模式的区别其实就是Application Master进程的区别,yarn-cluster模式下,driver运行在AM(Applic ...