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. ...
随机推荐
- 浏览器兼容性小整理和一些js小问题(后面会继续更新)
最近在啃jQuery的源码,估计会啃到很多浏览器兼容性的问题,所以整理一下 1,IE下的内存泄露. 在IE中不在DOM树中的独立节点有javascript变量引用它的时候不会被回收. 解决:手动将该j ...
- MYSQL主从数据库搭建
sc delete "服务名" 删除服务 环境: (以下是我这次搭建所使用的环境) 主数据库: 系统:ubuntu : MYSQL 5.1.63 :ip:192.1 ...
- Toast工具类,Android中不用再每次都写烦人的Toast了
package com.zhanggeng.contact.tools; /** * Toasttool can make you use Toast more easy ; * * @author ...
- [Effective JavaScript 笔记]第20条:使用call方法自定义接收者来调用方法
不好的实践 函数或方法的接收者(即绑定到特殊关键字this的值)是由调用者的语法决定的.方法调用语法将方法被查找的对象绑定到this变量,(可参阅之前文章<理解函数调用.方法调用及构造函数调用之 ...
- 把 表拷贝到test测试数据库
(文章是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) bundle exec rake db:schema:load RAILS_ENV=test 注 ...
- linux /etc/rc.d/目录的详解
rc.d的内容如下: init.d/ :各种服务器和程序的二进制文件存放目录. rcx.d/: 各个启动级别的执行程序连接目录.里头的东西都是指向init.d/的一些软连接.具体的后边叙述. 还有三个 ...
- 用nginx做反向代理来访问防外链图片
用nginx做反向代理来访问防外链图片 女儿的博客从新浪搬到wordpress后,发现原来博客上链接的新浪相册的图片都不能访问了,一年的博客内容,一个个去重新上传图片,修正链接也是个大工程.还是得先想 ...
- iOS __block类型变量作用域
看下图 在c语言中,2个独立的函数是不可能互相访问局部变量的,但是__block提供了这个功能,它不单单能读变量,还可以对变量进行写!上图说明,block获得了i最后的真实值5,没有只取得0,这都是& ...
- (原创)Python文件与文件系统系列(4)——文件描述字操作
文件描述字(file descriptor,fd)是系统中用来唯一记录当前已经打开的文件的标识号,fd是一个整数. 除了file对象外,Python还提供对fd的操作,对fd的操作更加底层,fd和Py ...
- fedora 添加其他操作系统到 GRUB 2 菜单
# yum install os-prober # grub2-mkconfig -o /boot/grub2/grub.cfg