RSS 实现

RSS是一个标准的XML文件,Rss阅读器可以读取这个XML文件获得文章的信息,使用户可以通过Rss阅读器

而非浏览器阅读Blog,我们只要动态生成这个XML文件便可以了。RSSLibJ是一个专门读取和生成RSS的小

巧实用的Java库,大小仅25k,可以从http://sourceforge.net/projects/rsslibj/下载rsslibj-

1_0RC2.jar和它需要的EXMLjar两个文件,然后复制到web/WEB-INF/lib/下。

 

rsslibj-1_0RC2.jar下载地址:http://sourceforge.net/project/downloading.php?group_id=71153&use_mirror=nchc&filename=rsslibj-1_0RC2.jar&27763931

 

EXML.jar下载地址:http://rsslibj.cvs.sourceforge.net/rsslibj/rsslibj/lib/EXML.jar?view=log

 

下载下来之后把 扩张名.zip 改为 .jar 就行了。

 

import com.rsslibj.elements.Channel;public class Writer { public static void main(String[] args) throws InstantiationException, ClassNotFoundException, IllegalAccessException { Channel channel=new Channel(); channel.setDescription("This is my sample channel."); channel.setLink("http://localhost/"); channel.setTitle("My Channel"); channel.setImage("http://localhost/", "The Channel Image", "http://localhost/foo.jpg"); channel.setTextInput("http://localhost/search", "Search The Channel Image", "The Channel Image", "s"); channel.addItem("http://localhost/item1", "The First Item covers details on the first item>", "The First Item") .setDcContributor("Joseph B. Ottinger"); channel.addItem("http://localhost/item2", "The Second Item covers details on the second item", "The Second Item") .setDcCreator("Jason Bell"); System.out.println("The feed in RDF: "+channel.getFeed("rss")); }}

 

 

Channel channel = new Channel();

channel.setDescription(account.getDescription());

baseUrl = baseUrl.substring(0, n);

channel.setLink("http://server-name/home.c?accountId=" + accountId);

channel.setTitle(account.getTitle());

List articles = facade.getArticles(accountId, account.getMaxPerPage(), 1);

Iterator it = articles.iterator();

while(it.hasNext()) {

    Article article = (Article)it.next();

    channel.addItem("http://server-name/article.c?articleId=" + article.getArticleId(),

        article.getSummary(), article.getTitle()

    );

}

// 输出xml:

response.setContentType("text/xml");

PrintWriter pw = response.getWriter();

pw.print(channel.getFeed("rss"));

pw.close();

 

 

  importcom.rsslibj.elements.Channel;

  

  publicclassWriter{

  publicstaticvoidmain(String[]args)

  throwsInstantiationException,ClassNotFoundException,

  IllegalAccessException{

  Channelchannel=newChannel();

  channel.setDescription("Thisismysamplechannel.");

  channel.setLink("/");

  channel.setTitle("MyChannel");

  channel.setImage("/",

  "TheChannelImage",

  "/foo.jpg");

  channel.setTextInput("/search",

  "SearchTheChannelImage",

  "TheChannelImage",

  "s");

  channel.addItem("/item1",

  "TheFirstItemcoversdetailsonthefirstitem>",

  "TheFirstItem")

  .setDcContributor("JosephB.Ottinger");

  channel.addItem("/item2",

  "TheSecondItemcoversdetailsontheseconditem",

  "TheSecondItem")

  .setDcCreator("JasonBell");

  System.out.println("ThefeedinRDF:" channel.getFeed("rdf"));

  }

  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值