Android基础之Pull解析Xml
来源:互联网 发布:赞美诗我知谁掌管明天 编辑:程序博客网 时间:2024/06/02 09:01
pull解析器是一个开源的Java项目,Android中已经集成了pull解析器。JavaEE中也可以使用pull解析 , 但要导入jar包 。
pull解析提供了事件,如:开始元素和结束元素,使用parser.next(),可以进入下一个节点
实例:将XML文件解析出来
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person id="23">
<name>kim</name>
<age>25</age>
</person>
<person id="20">
<name>jinwei</name>
<age>30</age>
</person>
</persons>
将XML文件解析出来
首先建立 一个person类用于存储xml中的person节点
public class Person {private int id;private int age;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}}其次在处理函数中进行解析,例中XML解析后的数据保存早persons中
public static List<Person> getPersons(InputStream xml) throws Exception{List<Person> persons = null;Person person =null;//首先得到pull解析器XmlPullParser pullParser =Xml.newPullParser();//为解析器设置要解析的XML数据pullParser.setInput(xml, "UTF-8");//得到事件int event = pullParser.getEventType();while(event != XmlPullParser.END_DOCUMENT){switch(event){case XmlPullParser.START_DOCUMENT://文档开始persons = new ArrayList<Person>();break;case XmlPullParser.START_TAG:if("person".equals(pullParser.getName())){//取得当前指针的属性值int id = new Integer(pullParser.getAttributeValue(0));person = new Person();person.setId(id);}if("name".equals(pullParser.getName())){String name =pullParser.nextText();person.setName(name);}if("age".equals(pullParser.getName())){int age =new Integer(pullParser.nextText());person.setAge(age);}break;case XmlPullParser.END_TAG:if("person".equals(pullParser.getName())){persons.add(person);person = null;}break;}pullParser.next();//让指针往后解析}return persons;}
说明:
XmlPullParser.START_DOCMENT 文档的开始,即XML中的<?xml version="1.0" encoding="UTF-8"?>这一句
XmlPullParser.START_TAG是标签的开始 如<person>,<name>
XmlPullParser.END_TAG是标签的结束 如</person>,</name>
0 0
- Android基础之Pull解析Xml
- android之pull解析XML
- android之Pull解析XML
- Android 解析XML 之pull
- Android XML解析之Pull
- android之Pull解析XML
- Android之PULL解析XML
- Android xml之pull解析
- android之Pull解析XML
- Android Xml解析之Pull
- Android之Pull解析XML
- Android之PULL解析XML
- Android之XML解析(Pull)
- android xml解析之PULL解析
- android xml解析之pull解析
- Android-xml解析之PULL解析
- android中Xml解析之Pull解析
- Android之PULL解析和生成XML
- cocos2d-x创建精灵
- 普通游戏显卡和专业图形显卡的区别
- MySQL慢查询的两种分析方案 slow sql
- ROW_NUMBER() OVER函数的基本用法
- [Android] ImageView.ScaleType设置图解
- Android基础之Pull解析Xml
- 男人不能乱信
- Lua io的简单演示
- android TraceView 使用方法搜集
- 【枚举二】理解java枚举类型
- Android压缩图片到100K以下并保持不失真的高效方法
- 教的个题给陌生歌大概
- cocos2dx 3.1创建工 mac
- Activity的生命周期