栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 其他 > xml语言

具体分析Pull方式解析XML的示例代码

xml语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

具体分析Pull方式解析XML的示例代码

Pull方式解析XML
1、XML文件

liming30lixiangmei25

2、实体类

package com.example.pullparsexml;public class Person {private Integer id;private String name;private Short age;public Person(){}public Person(Integer id, String name, Short age) {this.id = id;this.name = name;this.age = age;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Short getAge() {return age;}public void setAge(Short age) {this.age = age;}@Overridepublic String toString() {return "Person [age=" + age + ", id=" + id + ", name=" + name + "]";}}

3、代码实现

package com.example.pullparsexml;import java.io.InputStream;import java.io.Writer;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlSerializer;import android.util.Xml;public class PullParseXML {public static void save(List persons, Writer writer)throws Throwable {XmlSerializer serializer = Xml.newSerializer();serializer.setOutput(writer);serializer.startdocument("UTF-8", true);serializer.startTag(null, "persons");for (Person person : persons) {serializer.startTag(null, "person");serializer.attribute(null, "id", person.getId().toString());serializer.startTag(null, "name");serializer.text(person.getName());serializer.endTag(null, "name");serializer.startTag(null, "age");serializer.text(person.getAge().toString());serializer.endTag(null, "age");serializer.endTag(null, "person");}serializer.endTag(null, "persons");serializer.enddocument();writer.flush();writer.close();}public static List getPersons(InputStream inStream)throws Throwable {List persons = null;Person person = null;XmlPullParser parser = Xml.newPullParser();parser.setInput(inStream, "UTF-8");int eventType = parser.getEventType();// 产生第一个事件while (eventType != XmlPullParser.END_document) {// 只要不是文档结束事件switch (eventType) {case XmlPullParser.START_document:persons = new ArrayList();break;case XmlPullParser.START_TAG:String name = parser.getName();// 获取解析器当前指向的元素的名称if ("person".equals(name)) {person = new Person();person.setId(new Integer(parser.getAttributevalue(0)));}if (person != null) {if ("name".equals(name)) {person.setName(parser.nextText());// 获取解析器当前指向元素的下一个文本节点的值}if ("age".equals(name)) {person.setAge(new Short(parser.nextText()));}}break;case XmlPullParser.END_TAG:if ("person".equals(parser.getName())) {persons.add(person);person = null;}break;}eventType = parser.next();}return persons;}}

以上就是具体分析Pull方式解析XML的示例代码的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/794443.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号