当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

4.8FeedCreator:以RSS的形式发布网页更新信息

9/17/2020 9:43:31 PM 人评论

4.8FeedCreator:以RSS的形式发布网页更新信息

4.8 FeedCreator:以RSS的形式发布网页更新信息

RSS(RDF Site Summary)以XML形式发布的网站更新信息。最近,很多网站在其首页上都放上了RSS的链接按钮。这就表示其提供XML形式的网站最新更新信息。

利用RSS后,网站维护者不用一一公布网站的最新更新,使用者也不用每次进入网站检查最新的内容了。只用在像Internet Explorer/Firefox等能处理RSS的浏览器,还有在其他一些RSS阅读器中,登录了RSS文档的URL后,就会自动读入RSS,网页的最新更新内容会及时通知给用户。多个网站的信息放在一起,需要查看什么网站的内容,用户可以简单地自由取舍。RSS能高效率的提供给用户最新的更新信息,今后提供RSS对网站管理者来说是个重要的课题。

alt

本例要点

就发布RSS文档来说,网站每次被更新时,手动去更新XML形式的RSS文档,会显得效率低下。通常,网站动态更新的内容会放在数据库中,RSS文档也会利用这些数据库信息进行动态生成。这样,网站的更新也会随RSS文档的更新就同步了。

这里出现了一个问题,RSS文档有好几个版本,而且这些版本间没有互换性。表4-7罗列了现在比较常用的几个版本。

表4-7 RSS文档的常用版本

alt

就RSS阅读器来说,有的只能处理一部分版本,到现在为止,能兼顾0.91/1.0/2.0等版本,当然这是再好不过的事了。但是对开发者来说,必须分别生成这些没有互换性的各个版本的RSS文档,肯定不是个值得高兴的事。

这里出现了,生成RSS文档用的FeedCreator库。FeedCreator吸收了各个不同RSS版本的不同之处,提供相同的步骤生成RSS文档。只用设置不同的参数,就可以生成不同版本的RSS文档,多版本的处理过程简单化了。

目录结构

alt

数据库的表结构

Books(书籍信息,参照3.4节)。

本例代码

alt

UniversalFeedCreator类用于生成RSS Feed,在UniversalFeedCreator类中设定feed标题、连接地址、网页梗概、feed的URL、缓冲利用与否。

alt

使用FeedImage类定义Logo图片,在FeedImage类中设定Logo标题、图片说明、链接地址等图片相关的信息。设定完成的FeedImage对象,设置到UniversalFeedCreator的image属性中。

alt

追加feed信息条目。以从表books检索出的数据为基础,追加10条信息。生成时尽量想多追加些条目,一般以20条为限,超过20条的情况下,有的RSS阅读器会不能识别。

alt

使用FeedItem类来追加条目信息。在FeedItem类中设定信息题目、作者、链接地址、梗概、发布日期。最后将FeedItem对象设定到UniversalFeedCreator类中。

alt

saveFeed方法发行RSS文档,参数中设置发行的feed版本(RSS1.0/RSS0.91/RSS2.0/ATOM0.3)。

alt

补充

本例注意事项

本节使用的feedcreator.class.php(FeedCreator)是外部库。使用时,需要下载必要的库,并进行相关设定。

FeedCreator的代码已经收录在随书附的光盘中了,FeedCreator在不断地进行版本升级,请注意保持最新的版本。

下载/配置FeedCreator

从以下网址下载最新的FeedCreator代码:http://www.bitfolge.de/rsscreator-en.html。

解压缩下载的feedcreator_XXX.zip(XXX为版本号)后,将目录下的feedcreator.class.php复制到PHP的include_path的目录下(Windows环境默认在“C:\php\includes\fpdf”,Linux环境默认在“/usr/local/lip/php/fpdf”目录中)。

FeedCreator的中文支持设置

FeedCreator默认是不支持中文的。不修改的话,会出现乱码。下面就是修改的方法。

alt

RSS feed的基本格式

在“本例要点”中已经介绍过了,FeedCreator已经吸收了各个RSS格式的差异,程序开发者不用了解RSS格式差异。但是,当应用程序不能按照设计的方式运行时,有时有确认输出内容的必要。因此有必要了解最低限的关于RSS基本格式的知识。

下面罗列出了RSS1.0与2.0的主要因子与属性。

RSS1.0文档的格式:

alt

RSS2.0文档的格式:

alt

详细说明超出了本书的范围了,这里不一一介绍了。表4-8所示的网页记载了各种RSS格式,有兴趣的朋友可以参照。

表4-8 RSS格式

alt

RSS feed的自动识别

Internet Explorer 7.0在浏览器窗口的上部提供了feed按钮,如图4-1所示,链接的网站上如果提供了RSS文档,这个feed按钮会变亮。用户单击了这个feed按钮时,能参照该网站的RSS feed。

alt

图4-1 IE7提供了RSS按钮

但是,如果要让IE7识别RSS feed,必须事先在Link对中定义RSS feed的URL。

例如:

alt

title与href的值设置为自己网页的内容,如果一页中有多个RSS feed时,可以并行加入多个Link对。

相关教程

共有条评论 网友评论

验证码: 看不清楚?