android中XmlPullParse解析xml的用法
来源:互联网 发布:剑网三喵姐捏脸数据 编辑:程序博客网 时间:2024/06/06 20:40
首先我们先来了解XmlPullParse代码读取所代表的含义.
读取到xml的声明返回 START_DOCUMENT;
读取到xml的结束返回 END_DOCUMENT ;
读取到xml的开始标签返回 START_TAG
读取到xml的结束标签返回END_TAG
读取到xml的文本返回 TEXT
返回值为int类型,其中他们所代表的值为
int START_DOCUMENT = 0 ; //xml的声明返回,当导航到XmlPullParser.START_DOCUMENT,可以不做处理,当然你可以实例化集合对象等等。int END_DOCUMENT = 1; //xml的结束返回,int START_TAG = 2; //开始标签(如果你不懂什么是开始标签,那就百度)int END_TAG = 3; //结束标签int TEXT = 4; //文本反悔
获取xml的事件类型为 XmlPullParse.getEventType()
下面讲一个 新闻客户端的事例
XML新闻
<?xml version="1.0" encoding="utf-8"?> <channel> <item> <title>黄兴国最年轻副手被降级 曾是天津最年轻副市长</title> <image>http://k.sinaimg.cn/n/default/transform/20170710/BOZU-fyhweih2497519.png/w200h134l50t1bf5.jpg</image> <type>1</type> <comment>163</comment> </item> <item> <title>丽江遭殴打女游客与6名被告人达和解 撤回诉讼</title> <image>http://k.sinaimg.cn/n/default/transform/20170710/dcrA-fyhweih2482078.jpg/w200h134l50t1d03.jpg</image> <type>2</type> </item> <item> <title>这段视频告诉你洪水有多么的吓人,只要几秒钟,可能就会命丧黄泉</title> <image>http://k.sinaimg.cn/n/default/20170710/kyMF-fyhwret0616031.jpg/w200h134l50t1056.jpg</image> <type>3</type> </item> <item> <title>黄兴国最年轻副手被降级 曾是天津最年轻副市长</title> <image>http://k.sinaimg.cn/n/default/transform/20170710/BOZU-fyhweih2497519.png/w200h134l50t1bf5.jpg</image> <type>4</type> </item> <item> <title>印要在边界打持久战?中方:证明印非法越界有预谋</title> <image>http://k.sinaimg.cn/n/default/transform/20170710/ZLeO-fyhwehx5509942.jpg/w200h134l50t176b.jpg</image> <type>5</type> </item> <item> <title>马来西亚铁路订票网站标“中国台湾” 网友:没毛病</title> <image>http://k.sinaimg.cn/n/default/transform/20170710/y9uN-fyhwefp0466238.png/w200h134l50t1392.jpg</image> <type>6</type> <comment>1630</comment> </item></channel>
解析xml
package com.example.news;import android.util.Xml;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import java.io.InputStream;import java.util.ArrayList;import java.util.List;/** * Created by Administrator on 2017\7\11 0011. */class XmlParserUtils { public static List<News> parserXml(InputStream in) throws Exception { List<News> newsLists = null; News news = null; // [1]获取xml的解析器 XmlPullParser parser = Xml.newPullParser(); // [2]设置解析器 要解析的内容 parser.setInput(in, "utf-8"); // [3]获取解析的事件类型 int type = parser.getEventType(); // [4]不停的向下解析 while (type != XmlPullParser.END_DOCUMENT) { // [5]具体判断一下解析的是开始节点 还是结束节点 switch (type) { case XmlPullParser.START_TAG: // 解析开始节点 //[6]具体判断一下解析的是哪个开始标签 if("channel".equals(parser.getName())){ //创建一个list集合 newsLists = new ArrayList<News>(); }else if ("item".equals(parser.getName())) { news = new News(); }else if ("title".equals(parser.getName())) { news.setTitle(parser.nextText()); }else if ("image".equals(parser.getName())) { news.setImage(parser.nextText()); }else if ("type".equals(parser.getName())) { news.setType(parser.nextText()); }else if ("comment".equals(parser.getName())) { news.setComment(parser.nextText()); } break; case XmlPullParser.END_TAG: // 解析结束标签 if ("item".equals(parser.getName())) { //把javabean添加到 集合 newsLists.add(news); } break; } // 不停的向下解析 type = parser.next(); } return newsLists; }}
阅读全文
0 0
- android中XmlPullParse解析xml的用法
- Android中使用XmlPullParse解析xml文件
- XmlPullParse解析XML
- Android利用XmlPullParse对XML进行解析读取(一)
- android利用XmlPullParse对XML进行解析读取(1) + (2) 总结
- android JSON与XmlPullParse解析网络连接数据
- Android中XML的解析
- android中XML的解析
- XML---Android中解析XML .
- XML - Android中解析XML
- Android中解析XML
- android中xml解析
- Android中XML解析
- Android中解析XML
- Android中解析XML
- Android中解析XML
- Android中解析XML
- Android中解析XML
- ubuntu安装软件出现Unable to locate package错误解决
- jsp时间插件
- VS常用快捷键
- codeforces 166-E. Tetrahedron(预处理+dp)
- JavaScript(1)
- android中XmlPullParse解析xml的用法
- ListView配合RadioButton实现单选列表
- java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this a
- 用连接数据库的方式读取excel
- Python 正则表达式入门(初级篇)
- MyBatis实现关联表查询
- Android中的各种访问权限Permission含义
- 2017-07-11
- MyBatis(三) 事务管理和缓存机制