`
gaozzsoft
  • 浏览: 429278 次
  • 性别: 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
分享到:
评论

相关推荐

    java使用Rome解析Rss的实例

    接下来,我们将通过一个简单的实例来展示如何使用Rome解析RSS feed。首先,我们需要导入必要的库: ```java import com.rometools.rome.feed.synd.SyndFeed; import com.rometools.rome.io.SyndFeedInput; import ...

    利用Rome解析Rss

    在使用 Rome 解析 RSS 时,可能会遇到一些问题,例如 sina 的 RSS 不符合 RFC822 规范,导致 pubDate 里不包含时区信息。解决方法是下载 Rome 的源码,修改 com.sun.syndication.io.impl.DateParser 类的 ...

    rome-1.0RC2rss解析

    1. **RSS和Atom Feed解析**:Rome库提供了`RSSModule`和`AtomModule`类,它们实现了JSR 172(JavaTM API for XML Processing, JAXP)的`Unmarshaller`接口,能够将XML数据转换为Java对象。通过这些模块,开发者可以...

    RSS.zip_Rome.jar_java r_java rss_rss feed jar_rss java

    他们可以了解如何使用Rome库来解析RSS feed,提取文章标题、内容、发布日期等信息,以及如何构建新的RSS feed发布到网络上。 在实际项目中,理解RSS feed的结构和Rome库的API至关重要。例如,`...

    rome 实现rss订阅,中文出错解决方法

    本文将深入探讨如何解决使用Rome处理RSS订阅时遇到的中文出错问题。 首先,我们需要理解问题的根源。在处理XML文件(如RSS feed)时,编码问题通常与字符集设置有关。RSS规范通常要求XML文档声明一个字符编码,如...

    ROME + JDOM轻松实现RSS的操作

    首先,你可以通过以下步骤使用ROME解析RSS URL: 1. 引入ROME库:在项目中添加ROME的依赖,这通常通过Maven或Gradle配置完成。 2. 创建`RSSHandler`:定义一个处理RSS内容的类,继承自`RSSHandlerBase`,重写其中的...

    rome,用于rss和atom提要的java库.zip

    Rome库提供了丰富的API,允许开发者轻松地创建、解析和操作RSS和Atom feed。 1. **RSS与Atom简介** RSS是一种XML格式,用于发布经常更新的内容,如博客文章、新闻标题等。RSS feed通常包含摘要、链接和发布日期等...

    可以用的jdom+rome.jar

    JDOM和ROME的结合使用,可以实现从XML文档中提取RSS Feed,然后通过ROME解析这些Feed,提取出文章标题、描述、链接等信息,甚至可以进一步处理这些信息,比如存入数据库或进行数据分析。这样的组合,为开发者提供了...

    RSS解析使用的相关JAR包

    - **解析RSS馈送**:使用Rome库的`SyndFeed`类将XML内容转换为易于处理的对象模型。 - **处理RSS条目**:遍历`SyndFeed`的条目列表,提取每条信息,如标题、描述、发布日期和链接。 - **JDOM辅助操作**:如果需要对...

    Rss,Atom聚合规范的XML文件解析(Rome,rssutils)

    使用Rome,开发者可以方便地创建一个RSS或Atom feed解析器,读取XML文件中的条目,或者创建新的feed并将其发布到网络上。例如,通过Rome,你可以实现以下功能: 1. 解析XML文件:使用`RomeFeedReader`类,可以读取...

    RSS开源框架ROME1.0下载集合

    通过使用ROME,开发者可以轻松地解析、创建和更新RSS和Atom feeds,从而快速构建RSS相关的应用程序。 1. **API接口**:ROME1.0提供了一套清晰、易于使用的API,允许开发者创建和操作RSS和Atom feeds。例如,你可以...

    jdom和rome1.0包

    通过使用ROME,开发者可以轻松地从网站抓取和解析RSS feed,或者创建自己的RSS feed并发布到网络。 在描述中提到的“rome开发rss”,意味着这个压缩包可能包含了使用ROME库进行RSS开发的相关示例或代码。JDOM的提及...

    java_rss.rar_EXML.jar _RSSLibJ _rome jar_rome.j

    - **解析RSS feeds**:从RSS源下载XML数据,然后使用库解析成Java对象,以便进一步处理和展示。 - **订阅和更新**:定期检查RSS源是否有新内容,一旦发现新项,可以向用户发送通知或更新到数据库。 - **转换RSS格式*...

    rome源码包和jar包

    3. **使用Rome解析RSS新闻** - 使用`SyndFeedInput`可以从URL或XML字符串中读取feed。 - 解析后的feed可以通过`SyndFeed`对象进行访问,获取新闻标题、描述、链接、作者等信息。 - 对于百度RSS新闻的不同栏目,...

    rome-1.0 jdom 第一个RSS发布实例

    标题中的“rome-1.0 jdom 第一个RSS发布实例”揭示了本次讨论的主要内容,涉及到两个关键的Java库——Rome和JDOM,以及如何使用它们来创建和发布RSS(Really Simple Syndication) feed。RSS是一种XML格式,用于发布...

    jdom+rome-0.9 jar包合集

    同时,它也提供了从URL中抓取和解析RSS/Atom feed的能力,以及将已有的RSS/Atom对象转换成XML字符串的功能。 **RSS** RSS,即Really Simple Syndication,是一种用于发布和订阅新闻、博客文章和其他在线内容的XML...

    rome-0.9.jar

    1. **RSS和Atom Feed的解析**:Rome提供了API,能够解析RSS 2.0、RSS 1.0、RSS 0.9x、Atom 0.3和Atom 1.0等各种版本的feed格式,将这些XML数据转化为Java对象,方便进行进一步的操作。 2. **内容生成**:除了解析,...

    jdom+rome JAR包

    2. **解析RSS Feed**:使用RSSParser,可以从RSS源URL中解析出馈送内容,包括标题、描述、链接、条目等信息。 3. **处理Atom Feed**:除了RSS,ROME也支持Atom格式,提供了类似的API进行处理。 4. **转换馈送**:...

    rome0.9

    2. **解析RSS和Atom Feed**:Rome可以读取RSS和Atom格式的feed,将其解析为Java对象,方便进行进一步的数据处理和分析。 3. **模版支持**:Rome支持使用模版来生成feed,这允许开发者自定义feed的结构和样式,满足...

Global site tag (gtag.js) - Google Analytics