1

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

我的提要是由 liferay 本身从 liferay portlet 创建的,它只显示 1 个项目,因为我只能更新那个项目,我无法创建新的项目/portlet。

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

我需要一种方法来通知读者旧的提要已经更新......这可能使用一个项目吗?

4

2 回答 2

0

好吧,我认为值得尝试的唯一想法是每次更改项目的 GUID 元素。然后试试 RSS 阅读器会有什么反应。

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

于 2013-05-29T13:46:18.107 回答
0

如果您已更新您的项目,只需向您的项目添加一个guid元素并将其更改为新的 guid。guid 可以是任何唯一的字符串。

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

请注意,您应该添加属性isPermaLink="false",否则假定 guid 是一个 url。

来自RSS 2.0 规范

<item> 的 <guid> 子元素

<guid> 是 <item> 的可选子元素。

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

<guid> http://some.server.com/weblogItem3207 </guid>

guid 的语法没有规则。聚合器必须将它们视为字符串。建立字符串的唯一性取决于提要的来源。

如果 guid 元素有一个名为“isPermaLink”且值为 true 的属性,读者可能会认为它是该项目的永久链接,即可以在 Web 浏览器中打开的指向完整项目的 url由 <item> 元素描述。一个例子:

<guid isPermaLink="true"> http://inessential.com/2002/09/01.php#a2 </guid>

isPermaLink 是可选的,其默认值为 true。如果它的值为 false,则 guid 可能不会被假定为 url,或任何特定内容的 url。

于 2015-07-30T09:33:50.743 回答