我对rss feed很新,但是我能够使用PHP动态创建一个feed,它运行得很好.我的问题是,饲料偶尔没有任何物品(我将饲料的年龄限制为60天,有时在那段时间没有发生任何事情).
我期望发生的是我只是<item>在我的xml页面中没有任何s.然而,当我这样做的时候,饲料阅读器(至少是谷歌的阅读器)似乎有点笨拙.即使XML正确地包含了Feed的名称,它也会显示没有标题.
到目前为止,我发现解决这个问题的唯一方法就是放入一个虚拟物品,这很简单<item><title></title></item>.然后我的Google阅读器正确找到了Feed的名称,它看起来就像一个空白的Feed.
这似乎是一个可能不正确的解决方案.
是否有一些标准的方法来处理空提要的XML表示?
编辑:这是空的饲料看起来像什么
Run Code Online (Sandbox Code Playgroud)<?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>
小智 5
空馈源是一个没有任何项目的馈送封装(通常是XML的东西).机箱必须仍然有效才能成为有效的源.
从RSS 2.0规范,到2003年:
频道可以包含任意数量的<item>
但是,从至少一个RSS XSD我们可以看出它没有被尊重而开发人员知道它:
<xs:element name="item" type="RssItem" minOccurs="1" maxOccurs="unbounded">
<!--
HACK: According to the RSS 2.0 spec, it should strictly be possible to have zero item elements,
but this makes the schema non-deterministic with regard to extensibility elements
so for the moment we undid bug-fix 10231 and set minOccurs=1 to work around this problem.
-->
</xs:element>
在不同的客户端尝试您的Feed.也许这只是谷歌实施的一个怪癖.因人而异.
快乐的编码.
编辑:为了它的乐趣,请参阅SO问题:我在哪里可以找到RSS 2.0的官方XSD架构?.这实际上是令人失望的: - /