Android中使用PULL方式解析XML文件深入介绍

从来没有如果的

从来没有如果的

2016-02-19 11:17

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的Android中使用PULL方式解析XML文件深入介绍,希望大家看完后能赶快学习起来。
一、基本介绍
Android中极力推荐xmlpull方式解析xml。
xmlpull不仅可用在Android上同样也适用于javase,但在javase环境中需自己获取xmlpull所依赖的类库,kxml2-2.3.0.jar,xmlpull_1_1_3_4c.jar。
jar包下载网址
http://www.xmlpull.org/
http://kxml.sourceforge.net/
二、例子
读取到xml的声明返回数字0 START_DOCUMENT;
读取到xml的结束返回数字1 END_DOCUMENT ;
读取到xml的开始标签返回数字2 START_TAG
读取到xml的结束标签返回数字3 END_TAG
读取到xml的文本返回数字4 TEXT
代码如下:

?xml version="1.0" encoding="UTF-8"?
people
person id="001"
nameXY1/name
age22/age
/person
person id="002"
nameXY2/name
age22/age
/person
/people

代码如下:

public class PersonService
{
/**
* 从XML文件中读取数据
*
* @param xml XML文件输入流
*/
public ListPerson getPeople(InputStream xml) throws Exception
{
ListPerson lst = null;
Person person = null;
// 获得pull解析器工厂
XmlPullParserFactory pullParserFactory = XmlPullParserFactory.newInstance();
//获取XmlPullParser的实例
XmlPullParser pullParser = pullParserFactory.newPullParser();
// 设置需要解析的XML数据
pullParser.setInput(xml, "UTF-8");
// 取得事件
int event = pullParser.getEventType();
// 若为解析到末尾
while (event != XmlPullParser.END_DOCUMENT) // 文档结束
{
// 节点名称
String nodeName = pullParser.getName();
switch (event)
{
case XmlPullParser.START_DOCUMENT: // 文档开始
lst = new ArrayListPerson();
break;
case XmlPullParser.START_TAG: // 标签开始
if ("person".equals(nodeName))
{
String id = pullParser.getAttributeValue(0);
person = new Person();
person.setId(id);
}
if ("name".equals(nodeName))
{
String name = pullParser.nextText();
person.setName(name);
}
if ("age".equals(nodeName))
{
int age = Integer.valueOf(pullParser.nextText());
person.setAge(age);
}
break;
case XmlPullParser.END_TAG: // 标签结束
if ("person".equals(nodeName))
{
lst.add(person);
person = null;
}
break;
}
event = pullParser.next(); // 下一个标签
}
return lst;
}
}
展开更多 50%)
分享

猜你喜欢

Android中使用PULL方式解析XML文件深入介绍

编程语言 网络编程
Android中使用PULL方式解析XML文件深入介绍

Android中使用pull解析器操作xml文件的解决办法

编程语言 网络编程
Android中使用pull解析器操作xml文件的解决办法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Android中使用sax解析xml文件的方法

编程语言 网络编程
Android中使用sax解析xml文件的方法

Android开发之XML文件解析的使用

编程语言 网络编程
Android开发之XML文件解析的使用

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

android开发基础教程—三种方式实现xml文件解析

编程语言 网络编程
android开发基础教程—三种方式实现xml文件解析

Android控件系列之XML静态资源使用介绍

编程语言 网络编程
Android控件系列之XML静态资源使用介绍

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Html5游戏开发之乒乓Ping Pong游戏示例(一)

Html5游戏开发之乒乓Ping Pong游戏示例(一)

HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述

HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
下拉加载更多内容 ↓