当前位置:编程学习 > JAVA >>

Java实现RSS

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"));  }  }
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,