`

RSS 开发

 
阅读更多

RSS(Really Simple Syndication,真正简单的连锁)是一种 Web 内容连锁格式。RSS 成为通过 Web 连锁新闻内容的标准格式。作为最近与 Sun Microsystems 签署合同的一部分,我负责开发任何懂得 RSS、JavaServer Pages 和 HTML 的人便可以使用的“JSP 标签库”。taglib 主要面向用 RSS 收集新闻内容的 Web 站点的非技术性编辑人员。我的目标是开发在 Web 页中将简化使用 RSS 内容(0.91、0.92 和 2.0 版本)的 JSP 标签库。

RSS Utilities Package 是该项目的结果。它包括一套自定义 JSP 标签,这些标签弥补了 RSS Utilities Tag library 和灵活的 RSS 语法分析器。该文档说明了如何使用该语法分析器和 RSS Utilities Package 提供的库。在这里单击便可以下载第一个版本。该 zip 文件包含一个 jar 文件 rssutils.jar(该文件包含使用该工具所需的类)和一个 tld 文件(该文件定义从 RSS 文档中提取信息的 JSP 自定义标签)。

安装 taglib

尽管使用标签库很容易,但在安装时要求您了解 Web 服务器的工作原理和如何去配置它。第一步是下载并解压包。一旦 zip 文件已经解压了,在 Web 应用程序的 /WEB-INF/lib 目录中放置一份 rssutils.jar 和 rsstaglib.tld 的副本。将下面的 taglib 定义添加至 Web 应用程序的 /WEB-INF/web.xml 文件:

<taglib> <taglib-uri>/WEB-INF/rssutils.tld</taglib-uri> <taglib-location>/WEB-INF/rssutils.tld</taglib-location> </taglib>

使用 taglib

一旦 taglib 已经安装在 Web 应用程序中,按照以下步骤便可以在 JSP 页面中使用 taglib。首先,将下面一行添加至 JSP 页面的顶部:

<%@ taglib uri="/WEB-INF/rssutils.tld" prefix="rss" %>

其次,使用 feed 标签将 RSS feed 添加至 JSP 页面,如下例所示:

<rss:feed url="http://servlet.java.sun.com/syndication/rss_java_highlights-10.xml" feedId="javaSunCom"/>

"feed" 标签的 url 属性必须包含到 RSS 文档的 URL。"feed" 标签的 feedId 属性是任意的,可以设置为任何值。然而,我们建议该属性在标识 RSS feed 时要直观。如果应用程序在防火墙后面,可以使用名为 proxyAddress 和 proxyPort 的 "feed" 标签代理属性来设置代理属性。如果不知道代理服务器地址代理端口,请与网络管理员联系。下面是一个例子:

<rss:feed url="http://servlet.java.sun.com/syndication/rss_java_highlights-10.xml" feedId="example1" proxyAddress="129.149.246.4" proxyPort="8080"/>

一旦将一个或多个 RSS feed 添加到页面,您应能使用剩余的一套标签来从 feed 中提取几乎任何信息。下面是一个例子,说明如何提取在上面添加的 RSS feed 频道的标题:

<rss:channelTitle feedId="javaSunCom"/>

Taglib 示例

例 1 (RSS 0.91):

<rss:feed url="http://servlet.java.sun.com/syndication/rss_java_highlights-XYZCompany-10.xml" feedId="example1"/> <b>Image: </b><rss:channelImage feedId="example1" asLink="true"/><br> <b>Title: </b><rss:channelTitle feedId="example1"/><br> <b>Link: </b><rss:channelLink feedId="example1" asLink="true"/><br> <b>Description: </b><rss:channelDescription feedId="example1"/><br> <ul> <li><rss:itemTitle feedId="example1" index="0"/><br> <rss:itemDescription feedId="example1" index="0"/><br><br> <li><rss:itemTitle feedId="example1" index="1"/><br> <rss:itemDescription feedId="example1" index="1"/><br> </ul>

例 2 (RSS 0.92):

<rss:feed url="http://static.userland.com/gems/backend/gratefulDead.xml" feedId="example2"/> <b>Image: </b><rss:channelImage feedId="example2"/><br> <b>Title: </b><rss:channelTitle feedId="example2"/><br> <b>Link: </b><rss:channelLink feedId="example2" asLink="true"/><br> <b>Description: </b><rss:channelDescription feedId="example2"/><br> <ul> <rss:forEachItem feedId="example2"> <li><rss:itemDescription feedId="example2"/><br><br> </rss:forEachItem> </ul>

例 3 (RSS 2.0):

<rss:feed url="http://static.userland.com/gems/backend/rssTwoExample2.xml" feedId="example3"/> <b>Image: </b><rss:channelImage feedId="example3"/><br> <b>Title: </b><rss:channelTitle feedId="example3"/><br> <b>Link: </b><rss:channelLink feedId="example3" asLink="true"/><br> <b>Description: </b><rss:channelDescription feedId="example3"/><br> <b>Copyright: </b><rss:channelCopyright feedId="example3"/><br> <b>Docs: </b><rss:channelDocs feedId="example3"/><br> <b>Generator: </b><rss:channelGenerator feedId="example3"/><br> <b>Language: </b><rss:channelLanguage feedId="example3"/><br> <b>Last Build Date: </b><rss:channelLastBuildDate X-Virus: 1 feedId="example3"/><br> <b>Managing Editor: </b><rss:channelManagingEditor feedId="example3"/><br> <b>Pub Date: </b><rss:channelPubDate feedId="example3"/><br> X-Virus: 1 <b>Skip Days: </b><rss:channelSkipDays feedId="example3"/><br> <b>Skip Hours: </b><rss:channelSkipHours feedId="example3"/><br> <b>TTL: </b><rss:channelTTL feedId="example3"/><br> <ul> <rss:forEachItem feedId="example3" startIndex="2" endIndex="4"> <li><rss:itemDescription feedId="example3"/><br><br> </rss:forEachItem> </ul>

如何使用 RssParser?

从某种程度上看,语法分析器是该项目的副产品。尽管语法分析器是用标签库来开发的,但是它完全是自包含的,它可以在 Java 应用程序中使用。然而,要做到这一点,显然您至少需要了解如何编写基本的 Java 代码。(如果您了解如何用 Java 语言编写 Hello World,就没什么问题了。)

首先下载并解压包。一旦将 rssutils.jar 添加至您的类路径,就请使用 RssParserFactory 创建 RssParser 接口的实例:

RssParser parser = RssParserFactory.createDefault(); Rss rss = parser.parse(new URL("http://mydomain.com/document.rss"));

语法分析器生成的 RSS 对象是位于提供的 URL 中的 RSS 文档的 Java 对象表示。使用 RSS 对象提供的方法以获得其它 RSS 对象的句柄,如 Channels 和 Items。RssParser 也能够分析 File 对象和 InputStream 对象。

结束语

RSS 提供了一种简单的方法来添加和维护您的 Web 站点上来自所有 Web 的新闻及其它内容。即使 RSS 是简单的 XML 格式,在 Web 上的其他任何地方从 XML 文档中分析并提取数据都可能有点棘手——或者至少单调乏味——如果您不得不一遍又一遍地去做的话。RSS Utilities Package 利用 Custom Tag 和 XML Parsing 技术使 "Real Simple Syndication" 格式真正做到文如其名


分享到:
评论

相关推荐

    android_RSS开发教程

    为了让开发者能够利用Android平台的便利性,本教程《android_RSS开发教程》将会详细介绍如何使用Android Developer Tools,进行RSS的读取、解析和显示。这不仅为Android平台提供了有效的信息获取方式,还对XML数据...

    Rss.rar_flex_rss开发

    本项目"Rss.rar_flex_rss开发"是一个自主开发的RSS阅读器,采用Adobe Flex作为前端开发工具。 Flex是基于ActionScript 3.0和MXML的开源框架,用于构建富互联网应用程序(RIA)。它提供了一套强大的组件库,使得...

    RSS代码大全-详细介绍RSS开发过程

    在RSS开发过程中,首先要了解RSS的基本结构。一个标准的RSS feed通常包括以下元素: 1. **频道(Channel)**:这是RSS文档的顶级元素,包含了关于整个RSS源的信息,如标题、描述、URL等。 2. **条目(Item)**:...

    Flipboard Feed/RSS开发中文版说明文档

    ### Flipboard Feed/RSS开发中文版说明文档 #### 一、引言 随着移动互联网的发展,数字内容消费已经成为人们日常生活的重要组成部分。为了更好地满足用户的需求,Flipboard推出了Feed/RSS功能,让出版商能够轻松地...

    rss,RSS开发过程

    本章将通过三个实例来阐述RSS的开发过程,这三个实例均与RSS阅读器相关: 1. **纯Struts实现的RSS阅读器**:这个实例不涉及数据库,用户可以直接输入RSS地址来查看相关文章。Struts是一个流行的MVC(模型-视图-控制...

    RSS阅读发布工具开发文档

    **RSS阅读发布工具开发文档** RSS(Really Simple Syndication)是一种用于内容发布的标准化格式,它允许用户订阅感兴趣的网站或博客的更新,而无需频繁访问这些网站。RSS阅读器则可以帮助用户管理和阅读这些订阅源...

    Laravel开发-rss

    在本文中,我们将深入探讨如何使用 Laravel 框架进行 RSS 开发,特别是基于 Laravel 4 的 RSS 生成器。Laravel 是一个流行的开源 PHP 框架,它以其优雅的语法、强大的功能和丰富的生态系统而闻名。RSS(Really ...

    RSS RSSFEED

    在RSS开发过程中,本教程提供了三个实例,分别是: 1. **Struts RSS阅读器**:这个实例展示了如何使用Struts框架构建一个简单的RSS阅读器。用户可以通过输入RSS源的URL来查看相关文章信息。由于该实例未涉及数据库...

    Windows Vista 领航系列课程(6):开发基于RSS的应用程序

    - 压缩包中的PPT可能包含RSS开发的基本概念、架构和最佳实践,通过实例讲解如何创建RSS阅读器。 - 视频教程可能演示了从零开始构建一个简单的RSS应用程序的步骤,包括设置项目、添加RSS源、解析XML和显示内容。 -...

    RSS从入门到精通(Java语言初级版)-WORD、实例代码、jar包

    RSS(Really Simple ...总之,这个资源包为Java开发者提供了一个全面的RSS学习平台,无论你是初学者还是有一定经验,都能从中获益,提升你的RSS开发能力。记得理论与实践相结合,通过实际操作来巩固所学知识。

    RSS阅读器开发实战

    RSS阅读器开发实战是一个以Java语言为开发工具的项目,主要目标是实现一个能够解析、显示和管理RSS订阅源的应用程序。在这个项目中,开发者将深入理解RSS feed的结构和工作原理,同时掌握Java编程以及相关框架的使用...

    RSS新闻站点二次开发

    RSS站点二次开发通常涉及到对现有的RSS源进行扩展或定制,以满足特定需求。在这个项目中,我们将深入探讨如何使用C#和.NET框架进行RSS新闻站点的二次开发。 首先,理解RSS的基础是关键。RSS文件通常以XML格式存储,...

    Laravel开发-laravel-rss

    在Laravel 5中,开发laravel-rss库是为了简化RSS feed的生成过程。这个库可能包含了以下关键知识点: 1. **Laravel基础知识**:理解Laravel框架的基础概念,如路由、控制器、模型、视图和数据库交互(Eloquent ORM...

    java_rss.rar_EXML.jar _RSSLibJ _rome jar_rome.j

    Java RSS开发是一个重要的领域,主要用于创建、解析和发布RSS(Really Simple Syndication) feeds,这是一种标准格式,用于网站内容的聚合和更新。本压缩包"java_rss.rar"包含了几个关键库,帮助开发者处理RSS相关...

    RSS阅读器 c# vs2008开发啊

    【标题】:“RSS阅读器 c# vs2008开发啊” 【描述】:“一个本人开发的程序啊,vs2008 c# 。net framework 3.5” 这个项目是一个使用C#编程语言在Visual Studio 2008(VS2008)环境下开发的RSS阅读器。RSS(Really...

    RSS 订阅功能

    为 .NET web 版的 一个 RSS 订阅功能 ,链接 ACCESS 数据库 ,显示更新的 产品、新闻、展会等信息。可订阅到网易、QQ空间等。也可订阅到浏览器。功能简单 ,易懂。重点是代码,逻辑。

    android_RSS经典开发教程

    ### android_RSS经典开发教程 #### 一、RSS与Android平台概述 RSS(Really Simple Syndication)作为一种标准化的格式,用于聚合网站上的内容,并让用户能够订阅这些内容更新。随着移动互联网的发展,RSS阅读器...

    Rome0.9

    Rome0.9作为RSS开发工具,可以帮助开发者轻松地解析RSS源,提取所需信息,并生成新的RSS feed。 在RSS开发中,Rome0.9提供了以下关键功能: 1. **RSS解析**:Rome0.9包含了一系列的解析器类,如` SyndFeedInput`,...

    Java开发的RSS项目

    【Java开发的RSS项目】是将RSS(Really Simple Syndication)功能集成到现有网站中的一个实践案例。RSS是一种用于发布和订阅内容的XML格式,它允许用户通过聚合器轻松地跟踪多个网站的更新,而无需逐个访问这些网站...

    RSS代码RSS 代码RSS 代码RSS 代码

    7. **开发RSS Feed** 开发RSS Feed需要对XML和RSS规范有深入理解,使用编程语言(如Python、PHP等)创建XML文件,并遵循RSS 2.0或其他版本的规范。 8. **RSS扩展** 除了基本的RSS 2.0规范,还有许多扩展如iTunes ...

Global site tag (gtag.js) - Google Analytics