Android PULL解析XML
来源:互联网 发布:网络广告公司经营项目 编辑:程序博客网 时间:2024/05/09 02:55
PULL 解析XML
Ø PULL解析器的运行方式和sax解析器很相似,它提供了类似的事件。
Ø 如开始元素和结束元素,使用parser.next()可以进行下一个元素并且触发相应的事件,事件将作为代码被发送,因此可以使用一个switch来对事件进行选择,然后进行相应的处理。当开始解析元素时候,调用parser.nextText()方法可以获得下一个Text类型的元素。
Ø PULL特点:
Ø 简单的结构:一个接口,一个例外,一个工厂组成的PULL解析器
Ø 简单易用:PULL解析器只有一个重要的方法next方法,他被用来检索下一个事件,而它只有5个常用的属性:
Ø START DOCUMENT
Ø START_TAG
Ø TEXT
Ø END_TAG
Ø END_DOCUMENT
步骤:
1.创建一个xml解析的工厂
XmlPullParserFactory factory =XmlPullParserFactory.newInstance();
2.获得xml解析类的引用
XmlPullParser parser =factory.newPullParser();
3.获得事件的类型
int eventType = parser.getEventType();
4.取出属性值
eventType != XmlPullParser.END_DOCUMENT
XmlPullParser.START_DOCUMENT:
5.获取该节点的内容
XmlPullParser.START_TAG
public static List<Person> parseXML(InputStream inputStream, String encode) throwsException { List<Person>list = null; Personperson = null;// 装载解析每一个person节点的内容 // 创建一个xml解析的工厂 XmlPullParserFactoryfactory = XmlPullParserFactory.newInstance(); // 获得xml解析类的引用 XmlPullParserparser = factory.newPullParser(); parser.setInput(inputStream,encode); // 获得事件的类型 inteventType = parser.getEventType(); while(eventType != XmlPullParser.END_DOCUMENT) { switch(eventType) { caseXmlPullParser.START_DOCUMENT: list= new ArrayList<Person>(); break; case XmlPullParser.START_TAG: if("person".equals(parser.getName())) { person= new Person(); // 取出属性值 intid = Integer.parseInt(parser.getAttributeValue(0)); person.setId(id); }else if ("name".equals(parser.getName())) { Stringname = parser.nextText();// 获取该节点的内容 person.setName(name); }else if ("age".equals(parser.getName())) { intage = Integer.parseInt(parser.nextText()); person.setAge(age); } break; case XmlPullParser.END_TAG: if("person".equals(parser.getName())) { list.add(person); person= null; } break; } eventType= parser.next(); } return list; }
- Android Pull解析xml
- android pull 解析xml
- android PULL 解析XML
- Android Pull解析xml
- Android Pull 解析 XML
- Android Pull 解析 XML
- Android Pull解析xml
- Android PULL解析XML
- Android Pull解析xml
- Android PULL解析XML
- android xml-----Pull解析
- android pull解析xml
- Android Pull 解析 Xml
- Android Pull解析xml
- Android PULL解析XML
- Android XML Pull解析
- android,pull解析xml
- android PULL解析XML
- 调试器工作原理——基础篇
- TCP中的定时器
- mysql中的主键递增
- Java学习之道:mybatis简单应用(基于配置文件)
- 2013多校联合训练第三场
- Android PULL解析XML
- 【算法题】:跳台阶问题及斐波那契Fibonacci序列
- struts2自定义类型转换小插曲
- Ural 1355. Bald Spot Revisited 质因数分解
- 索引覆盖分析
- js中new Function的用法
- Android 内存数据库
- PAT_1055: The World's Richest
- 15-数据结构_递归