Java实现RSS

来源:互联网 发布:java软件开发项目经验 编辑:程序博客网 时间:2024/05/17 03:20
RSS是一个标准的XML文件,Rss阅读器可以读取这个XML文件获得文章的信息,使用户可以通过Rss阅读器
而非浏览器阅读Blog,我们只要动态生成这个XML文件便可以了。RSSLibJ是一个专门读取和生成RSS的小
巧实用的Java库,大小仅25k,可以从[url]http://sourceforge.net/projects/rsslibj/[/url]下载rsslibj-
1_0RC2.jar和它需要的EXMLjar两个文件,然后复制到web/WEB-INF/lib/下。
 
rsslibj-1_0RC2.jar下载地址:[url]http://sourceforge.net/project/downloading.php?group_id=71153&use_mirror=nchc&filename=rsslibj-1_0RC2.jar&27763931[/url]
 
EXML.jar下载地址:[url]http://rsslibj.cvs.sourceforge.net/rsslibj/rsslibj/lib/EXML.jar?view=log[/url]
 
下载下来之后把 扩张名.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=\'#\'" 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"));
  }
  }

本文出自 “霜之哀伤” 博客http://maomao.blog.51cto.com/115985/22180

原创粉丝点击