`
gaozzsoft
  • 浏览: 412995 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

使用Rome解析RSS Feed

    博客分类:
  • XML
阅读更多
到目前为止,XML聚合规范很混乱,这样使得开发聚合服务比较复杂,ROME就是为了结束这样的局面而诞生的。

ROME是一组Atom/RSS工具类,它使得用Java来操作大部份syndication格式变得更加容易,是目前用Java实现最好的Arom/RSS开源工具。

为什么叫"ROME"呢?按照项目在java.net上面的介绍,有"条条大路通罗马"之意,有些解决现在RSS规范混乱的意味。

目前最新版本为0.9版本,支持以下的格式:

RSS 0.90, RSS 0.91 Netscape,
RSS 0.91 Userland,
RSS 0.92,
RSS 0.93,
RSS 0.94,
RSS 1.0,
RSS 2.0,
Atom 0.3
Atom 1.0

ROME不仅包括各种syndication feeds的解析器与生成器,而且还能够把一种格式转换成另外一种格式的转换器。

下面我使用ROME工具来解析本人的blog站点发布的文章信息


完成编码的前提条件:

1,从https://rome.dev.java.net/下载ROME最新版本文件

2,ROME是使用JDOM来解析XML,需要下载JDOM1.0

3,Java J2SE 1.4 或更高版本

将下载的ROME和JDOM的jar包设置到开发环境,本人使用JDeveloper作为开发环境,只要将rome-0.9.jar和jdom.jar添加到项目的文件库中即可



package com.xml.feed;

import com.sun.syndication.feed.synd.*;
import com.sun.syndication.io.*;
import java.net.*;
import java.util.List;

public class FeedReader {

public static void main(String[] args) {

try{
//解析本人的blog文章
String urlStr = "http://aronezhang.blogspot.com/feeds/posts/default";
URLConnection feedUrl = new URL(urlStr).openConnection();

//读取远程RSS文件信息
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedUrl));

//把读取的结果打印到标准输出
System.out.println("---------------Begin Output--------------");
List list = feed.getEntries();
for (int i=0 ; i < list.size(); i++){
SyndEntry entry = (SyndEntry)list.get(i);
// 打印详细信息
System.out.println(entry.getTitle() + " (" + entry.getLink() + " )");
/*entry.getAuthor()
entry.getPublishedDate()
entry.getDescription()
*/
}
System.out.println("----------------End Output---------------");

}catch(Exception e){
e.printStackTrace();
}
}
}

运行java类可以得到如下的信息(2007-1-20):

---------------Begin Output--------------
缺陷管理软件--JIRA (http://aronezhang.blogspot.com/2007/01/jira.html )
安装Jira--Oracle 10g R2+OC4J (http://aronezhang.blogspot.com/2007/01/jira-oracle-10g-r2oc4j.html )
OFBiz学习系列 (http://aronezhang.blogspot.com/2007/01/ofbiz.html )
OFBiz系列-准备安装 (http://aronezhang.blogspot.com/2007/01/ofbiz_17.html )
OFBiz系列-配置为Oracle数据库 (http://aronezhang.blogspot.com/2007/01/ofbiz-oracle.html )
DBI(Daily Business Intelligence )报表开发 (http://aronezhang.blogspot.com/2006/09/dbidaily-business-intelligence.html )
----------------End Output---------------



ROME工具集使用起来非常的简单方便,所有的功能它都已经包装好了。



RSS的知识请查看:http://www.mnot.net/rss/tutorial


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yefei679/archive/2009/01/05/3710340.aspx
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics