文档章节

获取地址用pull解析xml

m
 miao了个咪
发布于 2016/07/29 11:56
字数 213
阅读 3
收藏 0
点赞 0
评论 0
// 解析数据
private void show(String strUrl) {
	try {
		URL url = new URL(strUrl);
		// 创建连接
		HttpURLConnection connection = (HttpURLConnection) url.openConnection();
		connection.connect();
		// 获得响应码
		int code = connection.getResponseCode();
		if (code == 200) {
			InputStream is = connection.getInputStream();
			// pull解析
			XmlPullParser xmlParser = Xml.newPullParser();
			// 设置编码
			xmlParser.setInput(is, "UTF-8");
			News n = null;
			// 获取数据类型
			int eventType = xmlParser.getEventType();
			while (eventType != XmlResourceParser.END_DOCUMENT) {
				// 通过getName判断读到哪个标签,然后通过nextText()获取文本节点值,或通过getAttributeValue(i)获取属性节点值
				String tagName = xmlParser.getName();
				switch (eventType) {
				case XmlPullParser.START_DOCUMENT:
					list = new ArrayList<News>();

					break;

				case XmlPullParser.START_TAG:
					// 如果新闻标签的开始我们需要创建News对象
					if ("item".equalsIgnoreCase(tagName)) {
						n = new News();
					} else if ("title".equals(tagName)) {
						n.setTitle(xmlParser.nextText());
					} else if ("link".equals(tagName)) {
						n.setLink(xmlParser.nextText());
					} else if ("imgs".equals(tagName)) {
						n.setImgs(xmlParser.nextText());
					} else if ("copyright".equals(tagName)) {
						n.setCopyright(xmlParser.nextText());
					} else if ("pubDate".equals(tagName)) {
						n.setPubDate(xmlParser.nextText());
					}
					break;
				case XmlPullParser.END_TAG:
					if ("item".equals(tagName)) {
						list.add(n);
						Log.e("info", "++++++" + n);
						n = null;
					}
					break;
				case XmlPullParser.END_DOCUMENT:

					break;
				}
				eventType = xmlParser.next();
			}
		}
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

};

© 著作权归作者所有

共有 人打赏支持
m
粉丝 2
博文 10
码字总数 3187
作品 0
海淀
XML解析之——Pull解析和Xml转Json

Xml的使用在Android开发中也时不时地遇到,通常xml用来写配置文件。Xml解析也是Android开发人员必备的一项技术点。常见的XML解析为DOM解析,SAX解析和PULL解析。 DOM解析: 一次性将全部内容...

翻滚吧李博 ⋅ 2017/12/28 ⋅ 0

Android的三种解析方式

第一种方式:DOM解析器: DOM是基于树形结构的的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树、检索所需数据。分析该结构通常需要加载整个文档和构造树形结构,然后才可以检索和...

津乐 ⋅ 01/11 ⋅ 0

android数据存储与访问之使用pull解析器

Pull解析器是一个开源的java项目,既可以用于android,也可以用于JavaEE。如果用在javaEE需要把其jar文件放入类路径中,因为Android已经集成进了Pull解析器,所以无需添加任何jar文件。andro...

长平狐 ⋅ 2012/09/03 ⋅ 0

PULL解析XML和SAX解析的区别

如果在一个XML文档中我们只需要前面一部分数据,但是使用SAX方式或DOM方式会对整个文档进行解析,尽管XML文档中后面的大部分数据我们其实都不需要解析,因此这样实际上就浪费了处理资源。使用...

TedYin ⋅ 2013/11/12 ⋅ 0

说说在 Android 中如何解析 XML

网络上传输数据有两种格式:XML 与 JSON。JSON 暂且按下不表,我们先说说如何解析 XML。 1 搭建 Web 服务器 假设我们使用 Apache HTTP Server 搭建好了 Web 服务器(搭建过程请看 这里)。 ...

deniro ⋅ 06/10 ⋅ 0

XML解析:PULL解析

概述: PULL解析器小巧轻便,解析速度快,简单易用,非常适合在Android移动设备中使用,Android系统内部在解析各种XML时也是用PULL解析器,Android官方推荐开发者们使用Pull解析技术。Pull解...

Xushao ⋅ 2012/09/13 ⋅ 2

android解析分析

我们使用java解析xml,主要还是有两种方式,一种方式是SAX解析,另一种是DOM解析。当然还有一系列的其他第三方解析API,如JDOM/DOM4J.他们各自有各自的优缺点。这里我们主要分析下最基础的两种...

gavin_jin ⋅ 2012/03/18 ⋅ 0

Java在android中xml文件解析效率比较分析

在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,下面,我将一一向大家详细介绍。 SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件...

tinydot ⋅ 2016/10/10 ⋅ 0

Android开发之使用pull解析XML文件

Android已经集成进了Pull解析器,所以无需添加任何jar文件。android系统本身使用到的各种xml文件,其内部也是采用Pull解析器进行解析的。 Pull解析器的运行方式与 SAX 解析器相似。它提供了类...

feng_blog ⋅ 2015/09/02 ⋅ 0

android xml解析的三种方式

在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式。最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull),今天对android解析...

球球 ⋅ 2016/09/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

DevOps 资讯 | PostgreSQL 的时代到来了吗 ?

PostgreSQL是对象-关系型数据库,BSD 许可证。拼读为"post-gress-Q-L"。 作者: Tony Baer 原文: Has the time finally come for PostgreSQL?(有删节) 近30年来 PostgreSQL 无疑是您从未听...

RiboseYim ⋅ 10分钟前 ⋅ 0

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 48分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 50分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 今天 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 今天 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 今天 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 今天 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 今天 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部