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. ...
随机推荐
- 不使用配置文件动态注册HttpModule
在asp.net 4.0中,提供了一种不通过修改配置文件注册Module的方法.从.net3.5开始,新提供的PreApplicationStartMethodAttribute特性可以应用在程序集上 ...
- web前端socket封装库--giraffe
摘要: 最近在做前端的socket消息推送,使用了socket.io.js的最新版本.使用过的都知道socket.io.js是基于消息类型来通信的,如果消息类型多了就很难维护.所以本人就对socket ...
- acdream.Bet(数学推导)
Bet Time Limit:1000MS Memory Limit:64000KB 64bit IO Format:%lld & %llu Submit Status Pra ...
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...
- [Effective JavaScript 笔记]第52条:数组字面量优于数组构造函数
js的优雅很大程序要归功于程序中常见的构造块(Object,Function及Array)的简明的字面量语法.字面量是一种表示数组的优雅方法. var a=[1,2,3,5,7,8]; 也可以使用构造 ...
- Class Methods & Variables
When calling an instance method like withdraw_securely, the syntax generally looks something like th ...
- ASP.NET 画图与图像处理-如何直接输出到页面
有时候我们生成的图片并不需要保存到磁盘中,而是直接输出到页面,比如验证码.实时报表等,如何做呢?请参考如下: protected void Page_Load(object sender, E ...
- Resumable uploads over HTTP. Protocol specification
Valery Kholodkov <valery@grid.net.ru>, 2010 1. Introduction This document describes applicatio ...
- iOS 用CALayer实现动画
与动画有关的几个类的继承关系 涉及到动画的类主要有6个,看一下它们的基本用途: 1. CAAnimation 动画基类 2. CAAnimationGroup 组合多个动画 3. CAPropert ...
- 修改Tomcat服务器的默认端口号
tomcat服务器的默认端口号是8080,我们也可以修改为其他端口号,并且在没有启动Apache,IIS等占用80端口的web服务时,我们也可以设置为80端口,这样在生产中域名之后就可以不带端口号了, ...