« OpenMapTwitter开源项目介绍 | Main | Project Kenai 开发平台 »
http://developers.sun.com.cn/blog/functionalca/date/20090525 星期一 2009年05月25日

采用Rome操作RSS

采用Rome操作RSS

作者:曹祺

Blog: http://blogs.sun.com/greysh

Web: http://www.greysh.com  

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;

RssReaderRssWriter分别是解析和创建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]
评论:

发表一条评论:
  • HTML语法: 禁用