网络获取的XML的Pull解析
<?xml version="1.0" encoding="utf-8" ?>
- <students>
- <student xuehao="1233">
<name>张三</name>
<address>北京市昌平区</address>
- <call>
<phone>010-37464567</phone>
<tel>1384950448</tel>
</call>
<school>北京大学</school>
</student>
- <student xuehao="1235">
<name>张三</name>
<address>北京海淀</address>
- <call>
<phone>010-37545457</phone>
<tel>13849599978</tel>
</call>
<school>清华大学</school>
</student>
</students>
//----------------------以上为要解析的XML---------------------------------------------
//-------------------------------这里text是网络获取得到的数据----------Students 是一个集合--------bean包里的数据没有写---------------
/*
* <student xuehao="1233">里面的xuehao是由Parser.getAttributeValue(0)得到的
* <name>张三</name> 里面的name是由Parser.nextText()得到的
*/
//解析XML
private void toXNL(String text) {
try {
Students studentss=null;
//将读取到的结果码 添加到XML里面
XmlPullParser Parser = Xml.newPullParser();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(text.getBytes());
Parser.setInput(byteArrayInputStream, "utf-8");
//通过parse获得项目类型 相当于文件里面的属性吧
int eventType = Parser.getEventType();
//判断
while ((eventType != XmlPullParser.END_DOCUMENT)) {
String name = Parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if (name.equals("student")) {
studentss=new Students();
studentss.setXuehao(Parser.getAttributeValue(0));
}
else if (name.equals("name")) {
String nname = Parser.nextText();
studentss.setName(nname);
} else if (name.equals("address")) {
String address = Parser.nextText();
studentss.setAddress(address);
} else if (name.equals("phone")) {
String phone = Parser.nextText();
studentss.setPhone(phone);
} else if (name.equals("tel")) {
String tel = Parser.nextText();
studentss.setTel(tel);
}else if (name.equals("school")) {
String school = Parser.nextText();
studentss.setSchool(school);
}
break;
case XmlPullParser.END_TAG:
if (name.equals("student")) {
//添加到集合
students.add(studentss);
}
break;
default:
break;
}
eventType=Parser.next();
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
};
网络获取的XML的Pull解析的更多相关文章
- 基础学习总结(四)---内存获取、XML之PULL解析
外部项目引入如果没找到工程文件要先创建一个android项目在引入. 根据要查看的项目名在项目中搜索逐步查看 ==================== 内存详情获取: public class Mai ...
- 网络获取数据的Xml的Pull解析
网络获取的XML的Pull解析 <?xml version="1.0" encoding="utf-8" ?> - <students> ...
- iOS网络编程笔记——XML文档解析
今天利用多余时间研究了一下XML文档解析,虽然现在移动端使用的数据格式基本为JSON格式,但是XML格式毕竟多年来一直在各种计算机语言之间使用,是一种老牌的经典的灵活的数据交换格式.所以我认为还是很有 ...
- Sax解析xml及pull解析xml
sax解析参考:http://www.iteye.com/topic/763895: 说明:测试时报空指针异常,未能读取到数据,关注Sax解析的过程及API即可: pull解析参考:http://ww ...
- XML的Pull解析
//通过xml解析串 private void XMLtoStr(String result) { News news=null; try { ...
- Android——PULL解析XML
简介 Android中常常使用XML文件保存用户的APP设置信息.因此需要对XML文件的相关操作进行了解.本文将以<学生信息管理系统>为案例背景进行介绍相关的XML解析的介绍,以及其他相关 ...
- Android(java)学习笔记187:Android中操作XML数据(使用Pull解析器)
1. Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, Pull解析器 ...
- Android(java)学习笔记130:Android中操作XML数据(使用Pull解析器)
1. Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, Pull解析器 ...
- Android代码优化----PullToRefresh+universal-image-loader实现从网络获取数据并刷新
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- HDU 2216 Game III(BFS)
Game III Problem Description Zjt and Sara will take part in a game, named Game III. Zjt and Sara wil ...
- JS计算字符串长度(中文算2个)
/** * @return {number} */ getRealLength = function(str) { var realLength = 0, len = str.length, char ...
- NOIP2011-普及组复赛-第二题-统计单词数
题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给 ...
- HIVE 简单总结
hive 1 table 查看 表show tables;查看表结构desc table_name; 2 database 默认 default 创建databasecreate database_n ...
- HDU 5933/思维
题目链接[http://acm.hdu.edu.cn/showproblem.php?pid=5933]; 题意: 给出n堆物品,问能不能分成K个数量相等的堆,如果能分,则最少次数是多少.分的规则为: ...
- ZUFE OJ 2288 God Wang I
Description God Wang 是ZUFE的神犇,有一天他想到一种神奇的变换,并且将它命名为GodW变换 对于一个数字n,该变换后的值GodW(n)为,先令X=n 第一步,如果X为个位数,G ...
- loadunner使用socket协议来实现多客户端连接同一服务器脚本(使用到IP欺骗技术)
第一部分: #include "lrs.h" vuser_init(){ lrs_startup(257); return 0;} 第二部分: Action(){ char *Re ...
- 初次使用IntelliJ IDEA 2016.2
换电脑的还有一个目的就是我准备采用新的IDE了 之前一直用的是myeclipse,但是现在准备尝试idea 这边做个记录,idea的破解参考下面这个网址:http://blog.csdn.net/u0 ...
- CSS3秘笈:第十一章
表格和表单的格式化 1.表格的各种标签提供了许多有用的“钩子”,可以再上面挂CSS样式.如果创建了<th>标签样式,那么每一个列的标题——<th>标签——看起来就有可能与其他的 ...
- Primes on Interval
AC代码: #include <cstdio> #include <cstring> #include <iostream> #include <algori ...