XmlPull
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 创建解析器。
XmlPullParser parser = factory.newPullParser();
//FileInputStream fis = new FileInputStream("f:\\students.xml");
parser.setInput(new FileReader("f:\\students.xml"));
int type = parser.getEventType();// 得到事件常量。
System.out.println(type);
String tag;
List<Student> list = null;
Student stu = null;
while (type != XmlPullParser.END_DOCUMENT) {
// 得到标记名称。
tag = parser.getName();
switch (type) {
case XmlPullParser.START_DOCUMENT:
System.out.println("文档开始解析");
list = new ArrayList<Student>(); break;
case XmlPullParser.START_TAG:// 开始标记
if ("student".equals(tag)) {
stu = new Student();
//查看开始标记的属性名称和属性值。再进行判断。
/*
for(int i=0;i<parser.getAttributeCount();i++){
String name = parser.getAttributeName(i);
String value = parser.getAttributeValue(i);
//再进行判断。
}*/
} else if ("id".equals(tag)) {
// 得到标记之间的内容。
String str = parser.nextText();
System.out.println(tag + ":" + str);
stu.id = Integer.parseInt(str);
} else if ("name".equals(tag)) {
stu.name = parser.nextText();
} else if ("age".equals(tag)) {
String str = parser.nextText();
System.out.println(tag + ":" + str);
stu.age = Integer.parseInt(str);
}
break;
case XmlPullParser.END_TAG:// 结束标记
if ("student".equals(tag)) {
list.add(stu);
}
break;
default:
break;
}
//跳到下一个标记,得到事件常量。
type = parser.next();
}
//遍历集合
for(Student s:list){
System.out.println(s);
}
XmlPull的更多相关文章
- XMLPuLL解析
1 package com.bawei.day14_xmlpull; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 i ...
- HttpEntity转换Inputstream(红色)加XmlPull解析
package com.bawei.xml; import java.io.IOException; import java.io.InputStream; import java.util.Arra ...
- android 之 XMLPull
Pull解析 Pull的XML解析操作与SAX解析操作类似,也是采用事件驱动的方式.当XML文档开始解析或者遇到节点时都会有相应的事件代码触发. 主要涉及两个类: org.xmlpull.v1.Xml ...
- android解析xml一直报错org.xmlpull.v1.XmlPullParserException
错误: org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT @1:2 injava.io.String ...
- 配置文件错误导致jenkins无法启动 org.xmlpull.v1.XmlPullParserException: only 1.0 is supported as <?xml version not '1.1' (position: START_DOCUMENT seen <?xml version=\'1.1\'... @1:19)
org.xmlpull.v1.XmlPullParserException: only 1.0 is supported as <?xml version not '1.1' (position ...
- Android之使用XMLPull解析xml(二)
转自:http://www.blogjava.net/sxyx2008/archive/2010/08/04/327885.html 介绍下在Android中极力推荐的xmlpull方式解析xml.x ...
- Android xmlpull 方式解析xml文件
1.新建一个xml文件,放在res/xml目录下 <?xml version="1.0" encoding="utf-8"?> <citys& ...
- Android--使用XMLPull解析xml
在Android中极力推荐的xmlpull方式解析xml.xmlpull不只能够使用在Android上.相同也适用于javase,但在javase环境下.你须要自己去获取xmlpull所依赖的类库. ...
- Java微信开发_Exception_01_The type org.xmlpull.v1.XmlPullParser cannot be resolved. It is indirectly referenced from required .class files
一.源码: package com.souvc.weixin.util; import java.io.InputStream; import java.io.Writer; import java. ...
随机推荐
- explicit构造函数
explicit构造函数 Explicit Constructors(显式构造函数)收藏 按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面 ...
- 转 XenServer、XenCenter安装测试
本文转自:http://blog.sina.com.cn/s/blog_5611597901014ze4.html 系统环境:win7 64bit vmware-8.0.1 镜像文件:XenServ ...
- 微信二维码占座 书本水杯板砖都out了
还在用书本.水杯.坐垫.板砖.铁链占座?你OUT了.新学期开学,重大图书馆开通了扫二维码占座功能,同学们只需扫一扫贴在桌子上的二维码,就可以占座.不过,占座有时间限制,如果没有在规定的时间内返回,系统 ...
- MySQL之aborted connections和aborted clients
影响Aborted_clients 值的可能是客户端连接异常关闭,或wait_timeout值过小. 最近线上遇到一个问题,接口日志发现有很多超时报错,根据日志定位到数据库实例之后发现一切正常,一般来 ...
- Server Application Unavailable出现的原因及解决方案集锦
iis ServerAppl 共存 应用程序池 站点 在Asp.net站点中经常出现这种提示 Server Application Unavailable The web application y ...
- mysql.msi安装流程
Mysql For Windows安装图解 演示安装版本:mysql-5.5.20-win32.msi(目前是mysql for windows的最新版)安装环境:Windows Server 200 ...
- Linux Tomcat 简介
如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求.我们需要一个交互式的Web,于是便诞生了各种Web语言.如Asp,Jsp,Php等.当然,这些语言与传统的语言有着密切的联系,如P ...
- Javascript之十大常用原理性样例大总结
案例一:全选等 运用知识点:ondblclick=()| onclick | 寻找标签属性及判断和函数的应用
- [另开新坑] 算导v3 #26 最大流 翻译
26 最大流 就像我们可以对一个路网构建一个有向图求最短路一样,我们也可以将一个有向图看成是一个"流量网络(flow network)",用它来回答关于流的问题. Just as ...
- android dialog 模拟新浪、腾讯title弹框效果
http://blog.csdn.net/jj120522/article/details/7764183 首先我们看一下新浪微博的效果(其它就是一个dialog): 点 ...