RSS更新单项

时间:2013-03-06 11:17:19

标签: rss news-feed

有没有办法更新旧的RSS Feed项并在Feed阅读器中将其设为“未读”?

我的feed已经通过liferay本身从liferay portlet创建,它只显示了1个项目,因为我只能更新那个,我无法创建新项目/ portlet。

如果我编辑旧的Feed,在谷歌阅读器或Firefox实时书签中它没有显示为未读,即使我刷新并看到新内容,日期仍然是旧的。

我需要一种方法告知读者旧的Feed已更新...是否可以使用一个项目?

2 个答案:

答案 0 :(得分:0)

嗯,我认为值得尝试的唯一想法是每次更改项目时都要更改项目的GUID元素。然后试试RSS阅读器将如何反应。

或者使用Atom,如果可以的话。使用Atom,您应该能够这样做,因为它允许您设置上次更新的时间(作为< updated> XML元素)。如果我是对的,RSS无法通知Feed项已更改。它只有< lastBuildDate>在整个饲料上。

答案 1 :(得分:0)

如果您更新了商品,只需在商品中添加guid元素并将其更改为新的guid。 guid可以是任何唯一的字符串。

<item>
  <title>...</title>
  <link>Link to your item</link>
  ...
  <guid isPermaLink="false">A unique string</guid>
</item>

请注意,您应该添加属性isPermaLink="false",否则会假设guid是一个网址。

来自RSS 2.0 Specification

  

&LT; GUID&GT; &lt; item&gt;的子元素

     

&LT; GUID&GT;是&lt; item&gt;的可选子元素。

     

guid代表全球唯一标识符。这是一个字符串   唯一标识该项目。如果存在,聚合器可以选择   使用此字符串来确定某个项目是否为新项目。

     

&lt; guid&gt; http://some.server.com/weblogItem3207&lt; / guid&gt;

     

guid的语法没有规则。聚合器必须查看   他们作为一个字符串。这取决于建立饲料的饲料来源   字符串的唯一性。

     

如果guid元素具有名为“isPermaLink”的属性,并带有值   如果是这样,读者可能会认为它是该项目的永久链接,   也就是说,一个可以在Web浏览器中打开的URL,指向   由&lt; item&gt;描述的完整项目元件。一个例子:

     

&LT; GUID   isPermaLink =“true”&gt; http://inessential.com/2002/09/01.php#a2&lt; / guid&gt;

     

isPermaLink是可选的,其默认值为true。如果它的价值是   错误,guid可能不被认为是网址,也不是任何东西的网址   特别是。