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
下载下来之后把 扩张名.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"));
- }
- }
- 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"));
- }
- }
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();
- 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();
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();
- import com.rsslibj.elements.Channel;
- public classWriter{
- public static void main(String[] args)
- throws InstantiationException,ClassNotFoundException,IllegalAccessException {
- Channel channel = new Channel();
- 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"));
- }
- }