安卓基于XMLPULSS解析XML的学习
来源:互联网 发布:免费淘宝客程序源码 编辑:程序博客网 时间:2024/04/29 06:06
这里介绍下在Android中极力推荐的xmlpull方式解析xml。xmlpull不仅仅可以使用在Android上,同样也适用于javase,但在javase环境下,你需要自己去获取xmlpull所依赖的类库。
下面是我自己写的一个例子。
1.XML源数据
<?xml version="1.0" encoding="UTF-8"?><persons><person id="1"><name>张三</name><address>湖北武汉</address></person><person id="2"><name>李四</name><address>湖北宜昌</address></person></persons>2.解析输入流的方法
public List<Person> parseXml(InputStream inputStream)throws XmlPullParserException, IOException {List<Person> personList = Collections.EMPTY_LIST;Person person = null;XmlPullParserFactory xmlPullParserFactory = XmlPullParserFactory.newInstance();XmlPullParser xmlPullParser = xmlPullParserFactory.newPullParser();// 设置输入流xmlPullParser.setInput(inputStream, "utf-8");int eventCode = xmlPullParser.getEventType();while (eventCode != XmlPullParser.END_DOCUMENT) {String nodeName = xmlPullParser.getName();switch (eventCode) {case XmlPullParser.START_DOCUMENT:personList = new ArrayList<Person>();break;case XmlPullParser.START_TAG:if ("person".equals(nodeName)) {person = new Person();person.setId(Integer.parseInt(xmlPullParser.getAttributeValue(0)));}if ("name".equals(nodeName)) {person.setName(xmlPullParser.nextText());}if ("address".equals(nodeName)) {person.setAddress(xmlPullParser.nextText());}break;case XmlPullParser.END_TAG:if ("person".equals(nodeName)) {personList.add(person);person = null;}break;default:break;}eventCode = xmlPullParser.next();}return personList;}3.测试方法
public static void main(String[] args) {InputStream inputStream = XmlPullTest.class.getResourceAsStream("persons.xml");XmlPullTest xmlPullTest = new XmlPullTest();try {List<Person> personList = xmlPullTest.parseXml(inputStream);System.out.println(personList);} catch (XmlPullParserException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}好了,以上就是我学习安卓的基于XMLPULL解析XML的相关方法。
0 0
- 安卓基于XMLPULSS解析XML的学习
- 安卓xml解析
- 解析 xml 安卓
- 安卓 解析xml
- 安卓xml解析
- 安卓style.xml与attrs.xml的深入解析
- 《安卓应用开发学习》--XML解析作业
- 安卓学习之---SAX方式解析XML文件
- 安卓sax解析xml
- 安卓xml pull 解析
- 安卓笔记 xml解析
- 安卓中的XML解析
- 安卓学习---PULL解析器和DOM解析器解析XML文件
- 【安卓笔记】安卓下xml文件的解析
- 安卓系统解析xml的本质代码
- 安卓xml解析的三种方法
- 安卓开发-xml的序列化和解析实例
- 基于Qt的xml解析
- poj 2449 (A* + Dijsktra 求K短路)
- 数据挖掘--支持向量机(SVM)基础
- Codeforces Round #289 C. Sums of Digits(构造)
- eclipse中移除编辑器自动生成的“//TODO comments from auto-generated code”字样
- C语言基础 --指针
- 安卓基于XMLPULSS解析XML的学习
- mac环境下的svn管理代码
- 实习篇---聚会
- Android-Lint使用后的错误解决
- uva10169(概率)
- COM杂项
- 超大背包(挑战编程之01背包)
- 普通的企业号体验下
- 为emlog中添加baidu分享功能