文档章节

Java解析Rss(一)

BK灬
 BK灬
发布于 2016/03/18 15:19
字数 264
阅读 450
收藏 0
package com.ninemax.application.rss;

import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.zip.GZIPInputStream;

import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;

public class RssPraseByOne {

	/**
	 * 根据链接地址解析数据
	 * 
	 * @param url
	 *            RSS形式的xml文件
	 * 
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public void praseXml(URL url) throws Exception {

		SyndFeed feed = null;

		SyndFeedInput input = new SyndFeedInput();
		// 创建链接对象
		URLConnection conn = url.openConnection();

		String content_encoding = conn.getHeaderField("Content-Encoding");

		if (content_encoding != null && content_encoding.contains("gzip")) {

			System.out.println("conent encoding is gzip");

			GZIPInputStream gzin = new GZIPInputStream(conn.getInputStream());

			feed = input.build(new XmlReader(gzin));
		} else {
			//1.得到此链接的输入流
			//2.读取此输入流
			//3.得到此输入流的有效信息
			feed = input.build(new XmlReader(conn.getInputStream()));
		}
		// 得到XML的所有实体
		List<SyndEntry> entries = feed.getEntries();

		for (int i = 0; i < entries.size(); i++) {

			SyndEntry entry = (SyndEntry) entries.get(i);

			System.out.println(entry.getTitle());
		}
		System.out.println("feed size:" + feed.getEntries().size());
	}

	public static void main(String[] args) throws Exception {

		String str = "http://iyanlei.com/feed";

		RssPraseByOne rssPrase = new RssPraseByOne();

		rssPrase.praseXml(new URL(str));
	}

}

输出:

动态加载多说评论
Java缓存框架Ehcache使用
后台判断Ajax请求
Windows批处理切换IP地址
Linux搭建SVN+Apache
Chrome快捷键大全
童言无忌
分享Typecho主题sexful
Java操作图数据库Titan
MapReduce性能优化小结
feed size:10


© 著作权归作者所有

上一篇: Java解析Rss(二)
BK灬

BK灬

粉丝 46
博文 345
码字总数 142921
作品 0
朝阳
后端工程师
私信 提问
Apache Commons Degister 3.1 发布

Apache Commons Degister 3.1 发布了,该版本新增了特性是使用 Java 5 的并发 API 做异步的 parse() 处理。 Digester基于规则的XML文档解析,主要用于XML到Java对象的映射。Struts就是用Diges...

红薯
2011/10/30
1K
0
Google Reader订阅排行榜-关于Java

在google reader中,读者可以搜索自己喜欢的供稿,遗憾的是搜索出来的题目并没有按照rss的订阅数量进行排序。这几天写了个小程序,抓取某个关键词下的所有rss,然后按照订阅数量从大到小排序...

红薯
2010/05/04
888
0
Makagiga 4.0 发布,开源个人桌面

Makagiga 4.0 发布了,该版本修复了一些小bug,用户界面做了改进,另外该版本要求 Java 7 的支持。 这是一款Java写的开源桌面软件,功能简单,包括便签,Widget,日程安排,rss阅读器,网络搜...

红薯
2011/09/10
837
1
【XML系列】详解JDOM解析XML

【XML系列】详解JDOM解析XML 一、前言 JDOM是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初,JDOM作为一个开放源代码项目正式开始研发。JDOM是一种解析XML的Java工具包。...

磊神Ray
2011/11/01
200
0
你所需要的java提升篇大总结

java基础篇深入解析大总结 java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规则 java基础(三) 加强型for循环与Iterator java基础(四) java运算顺序的深入解析 java基础(五) Str...

sihailoveyan
2018/04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

debian10使用putty配置交换机console口

前言:Linux的推广普及,需要配合解决实际应用方能有成效! 最近强迫自己用linux进行实际工作,过程很痛苦,还好通过网络一一解决,感谢各位无私网友博客的帮助! 系统:debian10 桌面:xfc...

W_Lu
36分钟前
10
0
aelf Enterprise 0.8.0 beta有奖公测,“Bug奖金计划”重磅开启

2019年9月30日,aelf Enterprise 0.8.0 beta版正式发布。aelf Enterprise 0.8.0 beta是一个完备的区块链系统, 包含完备的区块链系统、开发套件、开发文档、以及配套的基础应用和基础服务。 ...

AELF开发者社区
37分钟前
8
0
oracle 初始化数据库脚本

create user lpf identified by 123456; create tablespace lpf_ts_cms datafile '/opt/app/oracle/product/11.2.0/lpf.dbf' size 200M; alter user lpf default tablespace lpf_ts_cms; sel......

internetafei
42分钟前
7
0
《区块链DAPP开发入门、代码实现、场景应用》笔记1——天外飞仙DAPP

Solidity编程语言解决了编写智能合约的不友好的问题,但是当合约编译并部署之后,对与这些接口的访问,对于一般的使用者来说,门槛有点高, 对普通用户来说也是非常不友好,为了使广大用户理...

柯南和由美
46分钟前
6
0
流程图制作软件推荐_流程图制作软件哪个好

流程图(Flow Chart)是一种表示算法思路的图示,通过特定图形、图表可以直观的说明某一过程。这种过程既可以是生产线上的工艺流程图,也可以标明某项任务必需的管理过程。为了便于识别,绘制...

工具分享
48分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部