采用Rome操作RSS
采用Rome操作RSS
作者:曹祺
Blog: http://blogs.sun.com/greysh
Email: Qi.Cao@Sun.com
本文链接:
http://developers.sun.com.cn/blog/functionalca/entry/%E9%87%87%E7%94%A8rome%E6%93%8D%E4%BD%9Crss
源代码下载:
http://developers.sun.com.cn/blog/functionalca/resource/Greysh/FCA_Greysh_Rss.zip
难度:入门
ROME: https://rome.dev.java.net/
1.RSS简介
2.Rome简介
3.Helloworld
简介:本文为如何用ROME操作RSS的Helloworld教程
1.RSS简介
RSS(简易资讯聚合)是一种消息来源格式规范,用以发布经常更新资料的网站,例如部落格文章、新闻、音讯或视讯的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到能道)包含了全文或是节录的文字,再加上发用者所订阅之网摘布资料和授权的元数据。网络摘要专业层面能够者自和阅读网摘的使动地发布他们的资料,同时也使读者能更够定期更新他们喜欢的网站或是聚合不同网站的网摘。RSS摘要可以借由RSS阅读器、feed reader或是aggregator等网页或以桌面为架构的软件来阅读。标准的XML档式可允许资讯在一次发布后透过不同的程式阅览。使用者借由将网摘输入RSS阅读器或是用鼠标点取浏览器上指向订阅程序的RSS小图示之URI(非通常称为URL)来订阅网摘。RSS阅读器定期检阅使是否有更新,然后下载够监看用者接口。
----摘自维基百科
以下是RSS的例子
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>W3School Home Page</title>
<link>http://www.w3school.com.cn</link>
<description>Free web building tutorials</description>
<item>
<title>RSS Tutorial</title>
<link>http://www.w3school.com.cn/rss</link>
<description>New RSS tutorial on W3School</description>
</item>
<item>
<title>XML Tutorial</title>
<link>http://www.w3school.com.cn/xml</link>
<description>New XML tutorial on W3School</description>
</item>
</channel>
</rss>
简单的说,RSS是网站新闻的XML摘要
2.ROME简介
常用的RSS生成框架很多,如RSSLibJ,RSSLIB4J,FLOCK,就个人而言���好用的还是Rome
用ROME去生成一个RSS,只需要指定版本号和路径,解析一个RSS只需要指定URL
3.Helloworld教程
└─com
└─greysh
└─rss
├─model
│ ChannelItem.java
│
├─service
│ │ RssReader.java
│ │ RssWriter.java
│ │
│ └─impl
│ RssReaderImpl.java
│ RssWriterImpl.java
│
└─test
RssReaderTest.java
RssWriteTest.java
ChannelItem为制定的实体,包含RSS的一些基本属性
private String title;
private String link;
private String description;
private Date pubDate;
private String author;
private String category;
RssReader和RssWriter分别是解析和创建RSS的接口
RssRead只需要设定路径即可
public interface RssReader {
public void init(String url);
public List<?> getEntries() throws MalformedURLException, IllegalArgumentException, FeedException, IOException;
}
然后得到Feed的实体列表
RssWriter只需要制定路径和版本号即可,一般用RSS 2.0或者ATOM
public interface RssWriter {
public void setChannel(String title, String link, String description,
String language, Date pubDate, String copyright);
public void addChannelItem(ChannelItem channelItem);
public void init(String path,String version);
public void build() throws IOException, FeedException;
}
运行时候先用init初始化,然后用setChannel设定频道,然后用addChannelItem添加子项,最后用build生成rss
详情请运行上传代码的Test文件
发表于 Sun Functional 校园大使 [JavaEE] ( 五月 25, 2009 04:12 下午 ) Permalink | 评论[0]
