如何制作“空”的 RSS 提要
Posted
技术标签:
【中文标题】如何制作“空”的 RSS 提要【英文标题】:How to make an "empty" RSS feed 【发布时间】:2011-04-29 21:01:29 【问题描述】:我对 rss 提要有点陌生,但我能够使用 php 动态创建提要,而且效果很好。我的问题是偶尔提要没有任何项目(我将提要项目的年龄限制为 60 天,有时在那段时间什么都没有发生)。
我希望发生的是,我的 xml 页面中根本不会有任何 <item>
s。但是,当我这样做时,提要阅读器(至少是谷歌阅读器)似乎有点无聊。尽管 XML 仍然正确包含提要的名称,但它显示时没有标题。
到目前为止,我发现解决此问题的唯一方法是放入一个虚拟项目,即 <item><title></title></item>
。然后我的谷歌阅读器正确地找到了提要的名称,它看起来就像一个空白提要。
这似乎是一个可能不正确的虚假解决方案。
是否有一些标准方法来处理空提要的 XML 表示?
编辑:这是空提要的样子
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> <title>News at Example</title> <link>http://www.example.com/feed/sample-reviews</link> <description>Latest Additions to the Sample Category</description> <dc:language>en-us</dc:language> <dc:creator>Contact Example through our "contact us" page</dc:creator> <dc:rights>Copyright 2010 Example Technologies Inc.</dc:rights> <admin:generatorAgent rdf:resource="http://www.codeigniter.com/" /> <item><title></title></item> </channel></rss>
【问题讨论】:
听起来像一个错误。<item>
less 提要原则上没有任何问题。
您能否展示您的 Feed 的完整示例?
我已经添加了。如果没有那个空白的 包含零项的提要完全有效。如果谷歌阅读器不能正确处理它应该作为一个错误报告给他们,他们应该修复它。
【讨论】:
我同意这一点。也就是说,很多人都在使用 Google Reader(包括我自己!),我想让我的代码在此期间正常工作,所以我拥有的任何使用 Google 的用户至少可以看到他们应该做什么。听起来像是对空提要进行某种“破解”是可行的方法。【参考方案2】:空提要是没有任何项目的提要附件(通常是 XML 内容)。附件必须仍然有效才能成为有效的提要。
来自RSS 2.0 Specification,而从 2003 年开始:
一个频道可以包含任意数量的
但是,至少从one RSS XSD 我们可以看出它没有被尊重并且开发人员知道这一点:
在不同的客户端中试用您的 Feed。也许这只是谷歌实施的一个怪癖。 YMMV。
编码愉快。
编辑:为了获得乐趣,请参阅 SO 问题:Where I can find the official XSD schema for RSS 2.0?。实际上,这真是令人失望:-/
【讨论】:
我在网上看到了一些关于设置某种“默认”项目的讨论,该项目表明目前没有提要项目。考虑到没有任何项目的问题,设置这样的项目是否有意义? @neomech 使用对给定客户最有效的方法。编码愉快。以上是关于如何制作“空”的 RSS 提要的主要内容,如果未能解决你的问题,请参考以下文章