最近公司要开发一个基与java的RSS阅读器,但是时间紧,在网上找个了一个开源的框架Rome,Rome并不是指罗马。不要误会,这里介绍的rome为一个开源java框架,可以在www.java.net上找到它,它是为RSS聚合而开发的一个框架,让你可以快速的开发基于java的RSS阅读,发布器,支持
- 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
等标准。你也可以自己扩展他的Module,让他解析你自己定义的XML格式。可以说它是一种用途很广的框架,在使用它之前。你必须下载JDOM开发包,因为它是用JDOM解析XML的。
在Rome中主要包裹下面几个包
com.sun.syndication.feed
com.sun.syndication.feed.atom
与获得atom中各个节点的数据
com.sun.syndication.feed.module
modeule为各个数据模型层。可以自己扩展
com.sun.syndication.feed.rss
用与获得RSS中各个相对应的XML节点中的值
com.sun.syndication.feed.sse
com.sun.syndication.feed.synd
此包为写成RSS格式的XML设置个节点的属性
com.sun.syndication.io
此包为输入输出流。
它的UML图
图1
下面是一个例子,功能是生成RSS格式的XML
public class FeedWriter {
private static final String DATE_FORMAT = "yyyy-MM-dd";
public static void main(String[] args) {
boolean ok = false;
if (args.length==2) {
try {
String feedType = args[0];
String fileName = args[1];
DateFormat dateParser = new SimpleDateFormat(DATE_FORMAT);
SyndFeed feed = new SyndFeedImpl(); //feed流
feed.setFeedType(feedType); //设置rss版本
feed.setTitle("Sample Feed (created with Rome)"); //<title>设置标题
feed.setLink(http://www.csdn.net); //<link>
feed.setDescription("This feed has been created using Rome (Java syndication utilities");
List entries = new ArrayList();
SyndEntry entry;
SyndContent description;
entry = new SyndEntryImpl(); //子节点
entry.setTitle("Rome v1.0");
entry.setLink(http://www.csdn.net);
entry.setPublishedDate(dateParser.parse("2004-06-08"));
description = new SyndContentImpl();
description.setType("text/plain");
description.setValue("Initial release of Rome");
entry.setDescription(description);
entries.add(entry);
entry = new SyndEntryImpl();
entry.setTitle("Rome v2.0");
entry.setLink(http://ww.csdn.net);
entry.setPublishedDate(dateParser.parse("2004-06-16"));
description = new SyndContentImpl(); //描述
description.setType("text/xml");
description.setValue("Bug fixes, <xml>XML</xml> minor API changes and some new features");
entry.setDescription(description);
entries.add(entry);
entry = new SyndEntryImpl();
entry.setTitle("Rome v3.0");
entry.setLink("http://www.csdn.net");
entry.setPublishedDate(dateParser.parse("2004-07-27"));
description = new SyndContentImpl();
description.setType("text/html");
description.setValue("<p>More Bug fixes, mor API changes, some new features and some Unit testing</p>"+
"<p>For details check the <a href=\"http://www.csdn.net\">Changes Log</a></p>");
entry.setDescription(description);
entries.add(entry);
feed.setEntries(entries); //设置子节点
Writer writer = new FileWriter(fileName);
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed,writer); //写到文件中去
writer.close();
System.out.println("The feed has been written to the file ["+fileName+"]");
ok = true;
}
catch (Exception ex) {
ex.printStackTrace();
System.out.println("ERROR: "+ex.getMessage());
}
}
if (!ok) {
System.out.println();
System.out.println("FeedWriter creates a RSS/Atom feed and writes it to a file.");
System.out.println("The first parameter must be the syndication format for the feed");
System.out.println(" (rss_0.90, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0 rss_2.0 or atom_0.3)");
System.out.println("The second parameter must be the file name for the feed");
System.out.println();
}
}
}
就这么多了。第一次写blog写的不好。大家不要砸砖头:)
分享到:
相关推荐
在开发过程中,为了简化RSS处理,出现了各种开源框架,其中ROME(Really Simple Syndication)是一个流行的Java库。 **ROME框架** ROME1.0是该框架的一个版本,它提供了对RSS和Atom feeds的全面支持。通过使用ROME...
RSS聚合系统Gregarius是一款基于PHP开发的开源软件,专门用于收集、管理和展示来自不同来源的RSS(Really Simple Syndication)和Atom feeds。RSS是一种在线内容发布的标准格式,它允许用户在一个地方集中查看多个...
【描述分析】:描述中提到的“Gregarius RSS聚合程序.7z”暗示这是一个开源软件项目,可能包含了源代码、文档和其他相关资源。由于文件以.7z格式压缩,它可能使用7-Zip工具进行压缩,以提供更高的压缩比和更好的文件...
在ASP.NET中,开发RSS聚合程序涉及以下关键技术点: 1. **HTTP请求与响应处理**:ASP.NET Web Forms或MVC框架允许开发者处理HTTP请求,获取RSS源的数据。使用HttpWebRequest或HttpClient类发送GET请求到RSS feed ...
除了直接发布,也可以聚合论坛、博客、微博等其他数据源(包括外站的RSS);支持资讯投递、审核;支持模板修改,支持 Json 数据的自定义绑定;支持回收站、支持缓存、支持换肤;支持超长文章分页等其他功能;平台化...
标题中的“免费RSS聚合程序_dotnet整站程序.rar”表明这是一个基于.NET技术开发的RSS聚合程序,用于收集、整理和展示来自多个来源的RSS feed。RSS(Really Simple Syndication)是一种内容发布格式,允许用户订阅并...
RSS是一种XML格式,允许用户订阅网站内容,以便在支持RSS的阅读器或聚合器中获取最新更新。 在Laravel 5中,开发laravel-rss库是为了简化RSS feed的生成过程。这个库可能包含了以下关键知识点: 1. **Laravel基础...
综上所述,"Rss.rar_flex_rss开发"项目涵盖了RSS聚合原理、Flex编程、XML解析、数据绑定、用户界面设计等多个IT知识点。通过这个项目,开发者不仅可以学习到RSS阅读器的实现细节,还能深入理解Flex框架在构建RIA中的...
EaglePHP,是一款开源、高效、面向对象的PHP MVC开发框架,完全基于PHP5可用于开发WEB程序和服务,借鉴国外优秀框架的设计思路,分层的设计思想使独立开发成为可能,建立模型推动代码的重用,有助于促进快速软件开发...
在Laravel框架中,开发RSS Feed功能可以使得网站内容更易于被其他平台抓取和订阅。"laravel-rss-feed"是一个针对Laravel 5设计的简单包装器,它利用了开源库SimplePie来处理RSS源的获取、解析和展示。SimplePie是一...
2. **Spring MVC框架**:Spring是Java企业级应用开发的开源框架,而Spring MVC是其Web开发部分,提供了一种组织和构建Web应用程序的结构。它包括模型组件、视图组件和控制器组件,使得开发者可以更专注于业务逻辑,...
- **RSS 工具**:RSSLibJ 和 RSSLib4J 分别支持读取和生成 RSS 文件,方便实现信息聚合。 2. **模型层框架** - **持久层框架**:Hibernate 是一款流行的 ORM(对象关系映射)框架,它能够将 Java 对象映射到...
C#作为Microsoft .NET框架的主要开发语言,提供了丰富的库和API,使得开发RSS工具变得高效且易于维护。这个工具可能包括以下关键组件和功能: 1. **RSS解析器**:该工具的核心部分是解析RSS源的能力。C#中的XML类库...
标题中的“Python_开源简洁可自部署的RSS翻译器”指的是一个使用Python编程语言开发的开源项目,其目的是将RSS(Really Simple Syndication)订阅源的内容自动翻译成用户指定的语言。RSS是一种网络内容聚合格式,它...
该框架使用 Visual Studio 2008 开发,开发语言是 C#,.NET Framework 颁布是 3.5。在 Visual Studio 2005 下应该也可以编译通过!RssFoundation 是一个很简单的框架,其最大特点是使用结构解决问题,而不是使用算法...
这个项目是一个基于.NET框架开发的Windows窗体应用程序,专门用于阅读RSS(Really Simple Syndication)订阅源。RSS是一种XML格式,它允许用户订阅博客、新闻站点或其他定期更新的内容,而无需直接访问这些网站。...
.NET新闻阅读器RSS源码是一个基于.NET框架开发的软件,用于获取、解析和展示RSS(Really Simple Syndication) feed,这是一种广泛使用的Web内容发布格式,主要用于新闻聚合和博客更新。RSS使得用户无需直接访问各个...
【Laravel 开发 - RSS-L5】:在深入探讨Laravel 5的RSS生成器之前,我们首先要理解Laravel框架的基础。Laravel是一款基于PHP的开源Web应用框架,以其优雅的语法、强大的功能和丰富的生态系统赢得了开发者们的喜爱。...
6. **依赖库**:如果RSS阅读器是开源项目,可能还包含了所有必要的外部库或框架,以便在不同平台上正确运行。 通过解压"RSS.rar"并探索其内容,你可以深入了解RSS阅读器的实现细节,以及XML解析和数据呈现的技术。...