Java解析Rss(三)

package com.ninemax.application.rss;

import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.List;

import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndEnclosure;
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;

/**
 * Java解析RSS实例
 * 
 * @author Darker
 * 
 */
@SuppressWarnings("all")
public class RssPraseByThree {

	public static void main(String[] args) {

		RssPraseByThree test = new RssPraseByThree();

		test.parseRss();
	}

	public void parseRss() {

		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

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

		try {
			URL url = new URL(rss);
			// 读取Rss源
			XmlReader reader = new XmlReader(url);

			System.out.println("Rss源的编码格式为:" + reader.getEncoding() + "\r");

			SyndFeedInput input = new SyndFeedInput();
			// 得到SyndFeed对象,即得到Rss源里的所有信息
			SyndFeed feed = input.build(reader);
			// 得到Rss新闻中子项列表
			List entries = feed.getEntries();
			// 循环得到每个子项信息
			for (int i = 0; i < entries.size(); i++) {
				// 标题、连接地址、标题简介、时间是一个Rss源项最基本的组成部分
				SyndEntry entry = (SyndEntry) entries.get(i);

				System.out.println("标题:" + entry.getTitle());

				System.out.println("连接地址:" + entry.getLink());

				SyndContent description = entry.getDescription();

				System.out.println("标题简介:" + description.getValue());

				System.out.println("发布时间:" + df.format(entry.getPublishedDate()));
				// 以下是Rss源可先的几个部分
				System.out.println("标题的作者:" + entry.getAuthor());
				// 此标题所属的范畴
				List categoryList = entry.getCategories();
				if (categoryList != null) {
					for (int m = 0; m < categoryList.size(); m++) {
						
						SyndCategory category = (SyndCategory) categoryList.get(m);
						
						System.out.println("此标题所属的范畴:" + category.getName());
					}
				}
				// 得到流媒体播放文件的信息列表
				List enclosureList = entry.getEnclosures();
				if (enclosureList != null) {
					for (int n = 0; n < enclosureList.size(); n++) {
						
						SyndEnclosure enclosure = (SyndEnclosure) enclosureList.get(n);
						
						System.out.println("流媒体播放文件:" + enclosure);
					}
				}
				System.out.println();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

输出:

Rss源的编码格式为:UTF-8

标题:动态加载多说评论
连接地址:http://iyanlei.com/duoshuo-1.html
标题简介:由于博客使用了异步加载,本来想用angularjs,但angularjs对于一个小博客来说有点重了,所以还是使用了pushState + Ajax(pjax),于是多说也需要实现动态加载。多说代...
发布时间:2015-10-28 20:58:20
标题的作者:Ray

标题:Java缓存框架Ehcache使用
连接地址:http://iyanlei.com/ehcache.html
标题简介:简介EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。也是最流行的java缓存框架。框架概览核心定义:cache m...
发布时间:2015-09-06 20:24:00
标题的作者:Ray

标题:后台判断Ajax请求
连接地址:http://iyanlei.com/ajax.html
标题简介:介绍AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换...
发布时间:2015-08-27 01:03:17
标题的作者:Ray

标题:Windows批处理切换IP地址
连接地址:http://iyanlei.com/win_ip_change.html
标题简介:前言由于工作和在家电脑网络环境不一致,工作需要设置固定IP,在家自动获取IP地址,所以找了个bat文件,方便切换地址。BAT文件复制另存为bat文件,用管理员运行即可@echo.@echo   ...
发布时间:2015-07-23 23:54:56
标题的作者:Ray

标题:Linux搭建SVN+Apache
连接地址:http://iyanlei.com/linux_svn_apache.html
标题简介:简介SVN是Subversion的简称,是一个开放源代码的版本控制系统。本文主要讲解Linux下SVN服务的搭建,同时配合Apache,可以在浏览器中访问SVN。SVN/Apache安装可以在官...
发布时间:2015-07-23 19:40:00
标题的作者:Ray

标题:Chrome快捷键大全
连接地址:http://iyanlei.com/chrome.html
标题简介:平时基本都是使用chrome浏览器,找了个快捷键大全,加快使用效率标签页和窗口快捷键Ctrl+N打开新窗口。Ctrl+T打开新标签页。Ctrl+Shift+N在隐身模式下打开新窗口。按 Ctrl...
发布时间:2015-07-04 15:22:00
标题的作者:Ray

标题:童言无忌
连接地址:http://iyanlei.com/446.html
标题简介:6.1 ,希望儿子能天天快乐。。。今天,儿子和老婆在小区玩耍,一小妹妹很喜欢我妈妈,一直叫我妈妈,阿姨阿姨,这个时候,老婆对儿子说:你看,小妹妹的嘴巴真甜!听后,儿子说:嗯,妈妈,我的嘴巴干。-...
发布时间:2015-06-01 18:10:00
标题的作者:Ray

标题:分享Typecho主题sexful
连接地址:http://iyanlei.com/typecho_theme_sexful.html
标题简介:前言今天,分享下自己过去几个月制作和使用的Typecho主题sexful。在去年国庆,免费分享了自己typecho主题Ray-国庆 · Typecho主题Ray发布期间,也做了多个主题,最受关注...
发布时间:2015-05-22 14:45:00
标题的作者:Ray

标题:Java操作图数据库Titan
连接地址:http://iyanlei.com/java_titan.html
标题简介:Titan简介Titan 是一个分布式的图形数据库,特别为存储和处理大规模图形而优化。支持不同的分布式存储层Cassandra 1.1HBase 0.92内置实现 Blueprints grap...
发布时间:2015-05-19 15:55:08
标题的作者:Ray

标题:MapReduce性能优化小结
连接地址:http://iyanlei.com/mapreduce_tips.html
标题简介:简介使用Mapreduce开发程序有一段时间了,也积累了一些使用经验,后续可能会陆续使用Spark,在此总结一些Mapreduce的使用技巧。基本配置要减少网络延迟,配置所有节点在同一子网不使用...
发布时间:2015-04-29 15:53:27
标题的作者:Ray


转载于:https://my.oschina.net/Tsher2015/blog/639978

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值