RSS - 版本 2.0 标签和语法

以下是 RSS 2.0 文档的结构:

<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>...</title>
      <link>...</link>
      <description>...</description>
      
      <language>...</language>
      <rating>...</rating>
      <copyright>...</copyright>
      
      <pubDate>...</pubDate>
      <lastBuildDate>...</lastBuildDate>
      <generator>....</generator>
      
      <docs>...</docs>
      <cloud>...</cloud>
      <ttl>...</ttl>
      
      <managingEditor>...</managingEditor>
      <webMaster>...</webMaster>
      
      <skipHours>
         <hour>...</hour>
      </skipHours>
      
      <skipDays>
         <day>...</day>
      </skipDays>
      
      <image>
         <title>...</title>
         <url>...</url>
         <link>...</link>
         
         <width>...</width>
         <height>...</height>
         <description>...</description>
      </image>
      
      <item>
         <title>...</title>
         <link>...</link>
         <description>...</description>

         <author>....</author>
         <category>....</category>
         <comments>....</comments>

         <enclosure ..../>
         <guid>....</guid>
         <pubDate>....</pubDate>

         <source>....</source>
      </item>
      
      ......More item tags.....
      <textInput>
         <title>...</title>
         <description>...</description>
         <name>...</name>
         
         <link>...</link>
      </textInput>
   </channel>
</rss>

以下是与 RSS 2.0 相关的所有可选和强制标签的详细信息。查看给定的示例,为您的网站准备 RSS v2.0 Feed。

注意:所有标签都区分大小写,应谨慎使用。

XML 版本标识符

作为 XML 应用程序,RSS 文档不需要以 XML 声明开头。它应该以 XML 版本标识符标签开头。

语法

  • <?xml version="1.0"?> or
  • <?xml version="1.0" encoding="[ encoding code here ]"?>

以下是 RSS v2.0 支持的编码列表。

必需

始终准确。可选编码属性(默认为 UTF-8)。

RSS version 版本标识符

语法

<rss version="2.0">

必需

始终且准确。

起始频道标记

每个 RSS2.0 文件中应有一个频道起始标记。

语法

<channel>

必填

必填。每个 RSS 文件最多 1 个。

title 频道标题

频道的名称。这是人们引用您的服务的方式。如果您的 HTML 网站包含与您的 RSS 文件相同的信息,则频道的标题应与网站的标题相同。

语法

<title>TutorialsPoint</title>

必填

必填。

description 频道说明

频道将具有如下所述的说明标签:

语法

<description>教程、参考和手册的来源!</description>

必填

必填。

link 频道标题链接 (URL)

这是您主页的链接,对于频道是必需的。

语法

<link>http://www.tutorialspoint.com</link>

必填

必填。

language 频道语言

这指定了您的频道(网站)的语言。

语法

<language>[ language code here ]</language>

以下是 RSS v2.0 支持的语言 列表。

必需

可选。

rating 频道评级

有关如何使用频道评级的完整详细信息,请查看上面讨论的使用 PICS 评级

语法

<rating>[ PICS rating here ]</rating>

必需

可选。

copyright 版权标识符

此标签允许在 RSS 2.0 文件中使用。

语法

<copyright>Copyright 2007, TutorialsPoint</copyright>

必需

可选。

pubDate 发布日期

此标签允许在 RSS 2.0 文件中使用。频道中内容的发布日期。

语法

<pubDate>Thu, 19 Jul 2007 07:00:00 GMT</pubDate>

必需

可选。

lastBuildDate 上次构建日期

此标签允许在 RSS 2.0 文件中使用。频道内容上次更改的时间。

语法

<lastBuildDate>Thu, 19 Jul 2007 16:20:26 GMT </lastBuildDate>

必需

可选。

category 频道类别

指定频道所属的一个或多个类别。

语法

<category>Newspapers </category>

必需

可选。

docs 频道文档

指向 RSS 文件中使用的格式的文档的 URL。它可能指向此页面。

语法

<docs>http://tutorialspoint.com/rss </docs>

必需

可选。

cloud 频道云

允许进程向云注册,以便收到频道更新通知,为 RSS 源实现轻量级发布订阅协议。

语法

<cloud>
   domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="myCloud.rssPleaseNotify" protocol="xml-rpc"
</cloud>

在此示例中,要请求通知出现在其所在的频道上,您需要向端口 80 上的 rpc.sys.com 发送 XML-RPC 消息,路径为 /RPC2。要调用的过程是 myCloud.rssPleaseNotify。

必需

可选。

频道 ttl

ttl 代表生存时间。它是表示频道在从源刷新之前可以缓存多长时间的分钟数。

语法

<ttl>60</ttl>

必填

可选。

managingEditor 总编辑

负责编辑内容的人员的电子邮件地址。

语法

<managingEditor>mohtashim@tutorialspoint.com</managingEditor>

必填

可选

webMaster 网站管理员

负责频道相关技术问题的人员的电子邮件地址。

语法

<webMaster>mohtashim@tutorialspoint.com</webMaster>

必需

可选。

skipHours 开始跳过小时标记

<hour>s 列表,表示一天中频道不太可能更新的小时数(GMT)。如果省略此子项,则假定频道每小时更新一次。

语法

<skipHours>

必需

可选。

hour 小时

如果您使用 skipHours 标签,则也需要使用此标签。

语法

<hour>7</hour>

必需

如果是 <skipHours>,则为必需。每个 <skipHours> 元素最多 24 个。

最大长度

数值:0 - 23。

skipHours 结束跳过时间

如果您使用 skipHours 标签,则也需要使用此标签。

语法

</skipHours>

必需

如果是 <skipHours>,则为必需。

开始跳过天数标记

一周中的 <day> 列表(英文),表示一周中您的频道不会更新的天数。与 activeHours 一样,如果您知道您的频道永远不会在周六或周日更新。

语法

<skipDays>

必需

可选。

day 天

如果您使用 skipDays 标签,则也需要使用此标签。

语法

<day>Monday</day>

必需

如果是 <skipDays>,则为必需。每个 <skipDays> 元素最多 7 个。

最大长度

1-10 个字符。

结束跳过天数

如果您使用 skipDays 标签,则也需要使用此标签。

语法

</skipDays>

必需

如果是 <skipDays>,则为必需。

开始图像标记

您可以在频道内有一个图像开始标记。语法如下:

语法

<image>

必需

可选。

图像 ALT 文本

如果您使用图像标签,则也需要使用此标签。

语法

<title>TutorialsPoint Logo</title>

必需

如果 <image> 标签可用,则为必需。

图像位置 (URL)

加载资源的位置。请注意,这与链接标签略有不同,链接标签指定在选择资源后应将用户重定向到的位置。

语法

<url>http://www.tutorialspoint.com/images/to-logo.gif</url>

必需

如果 <image> 标签可用,则必需。

图片链接 (URL)

如果您使用图片标签,则也需要使用此标签。

语法

<link>http://www.tutorialspoint.com/</link>

必需

可选,如果 <image> 标签可用。

width 图像宽度

如果您使用图像标签,那么也可以选择使用此标签。

语法

<width>[ numeric value here ]</width>

必需

可选,如果 <image> 标签可用。

最大长度

数字值:1-144(默认值为 88)。

height 图像高度

如果您使用图像标签,那么也可以选择使用此标签。

语法

<height>[ numeric value here ]</height>

必需

可选,如果 <image> 标签可用。

最大长度

数字值:1-400(默认值为 31)。

description 图像描述

如果您使用图像标签,那么也可以选择使用此标签。

语法

<description>Articles, discussions, builds, and more...</description>

必需

可选,如果 <image> 标签可用。

结束图像标签

如果您使用图像标签,则也需要使用此标签。

语法

</image>

必需

如果 <image> 标签可用,则必需。

起始项目标签

这是一个可选标签,您可以在频道标签内拥有任意数量的项目标签。

语法

<item>

必需

可选。

title 项目标题

项目的标题。可以选择使用此标签。

语法

<title>Learning RSS</title>

必需

可选,但如果有 <title> 标签,最好使用。

项目链接 (URL)

项目的 URL。可以选择使用此标签。

语法

<link>http://www.tutorialspoint.com/rss/index.htm</link>

必需

可选,但如果 <title> 标签可用,则最好使用。

description 项目说明

项目概要。可以选择使用此标签。

语法

<description>RSS 在线教程。在此讨论中阅读更多内容...</description>

必需

可选,但如果 <title> 标签可用,则最好使用。

author 项目作者

这是项目作者的电子邮件地址。如果您使用 title 标签,则可以选择使用此标签。

语法

<author>AmberYasin@hotmail.com</author>

必需

可选,但如果 <title> 标签可用,则最好使用。

category 项目类别

将项目包含在一个或多个类别中。这是项目的可选子元素。

它有一个可选属性、域和一个用于标识分类法的字符串。

语法

<category>Grateful Dead</category>
<category domain="http://www.fool.com/cusips">Grateful Dead</category>

必需

可选,您可以根据需要包含任意数量的类别元素,用于不同的域,并在同一域的不同部分中交叉引用项目。

comments 项目评论

这是项目的可选子元素。如果存在,则为项目评论页面的网址。

语法

<comments>http://example.com/rss/comments</comments>

必需

可选。

enclosure 项目附件

<enclosure> 是项目的可选子元素。它有三个必需属性。url 表示附件的位置,length 表示其大小(以字节为单位),type 表示其类型,即标准 MIME 类型。

语法

<enclosure url="http://www.tutorialspoint.com/mp3s/tutorial.mp3" length="12216320" type="audio/mpeg" />

必需

可选。

项目 guid

<guid> 是项目的可选子元素。guid 代表全局唯一标识符。它是一个唯一标识项目的字符串。当存在时,聚合器可以选择使用此字符串来确定项目是否是新的。

语法

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

guid 的语法没有规则。聚合器必须将其视为字符串。由 Feed 的来源确定字符串的唯一性。

必需

可选。

pubDate 项目发布日期

<pubDate> 是 item 的可选子元素。其值是一个日期,表示项目的发布时间。如果是未来的日期,聚合器可以选择在该日期之前不显示该项目。

语法

<pubDate>Sun, 22 July 2007 15:21:36 GMT</pubDate>

必需

可选。

source 项目来源

<source> 是项目的可选子元素。其值是项目来自的 RSS 频道的名称,源自其 <title>。它有一个必需属性 url,链接到源的 XML 化。

此元素的目的是传播链接的信用,以宣传新闻项目的来源。它可以用于聚合器的 Post 命令。在将项目从聚合器转发到网络日志创作工具时,应该会自动生成它。

语法

<source url="http://www.tomalak.org/links2.xml">Tomalak's Realm</source>

必需

可选。

结束项目标签

如果您使用标题标签,则也需要使用此标签。

语法

</item>

开始文本输入标记

频道可以选择性地包含 <textInput> 子元素,其中包含四个必需子元素。

<textInput> 元素的用途有些神秘。您可以使用它来指定搜索引擎框。或者允许读者提供反馈。大多数聚合器都会忽略它。

语法

<textInput>

必需

可选。每个频道最多 1 个。

title 文本输入标题(提交按钮的标签)

如果您使用 textInput 标签,则也需要使用此标签。

语法

<title>Send</title>

必需

如果 <textInput> 标签可用,则必需。

文本输入描述

如果您使用 textInput 标签,则也需要使用此标签。

语法

<description>Comments about TutorialsPoint?</description>

必需

如果 <textInput> 标签可用,则必需。

name 文本输入名称

如果您使用 textInput 标签,则也需要使用此标签。

语法

<name>[ value of name= attribute of input tag here ]</name>

必需

如果 <textInput> 标签可用,则为必需。

link 文本输入链接

这是脚本的链接,它将处理传递的数据。如果您使用 textInput 标签,则也需要使用此标签。

语法

<link>http://www.tutorialspoint.com/cgi-bin/sampleonly.cgi</link>

必需

必需,如果 <textInput> 标签可用。

结束文本输入标签

如果您使用 textInput 标签,则也需要使用此标签。

语法

<textInput>

必需

如果 <textInput> 标签可用,则为必需。

结束通道标签

通道开始标签需要一个结束通道。

语法

</channel>

必需

必需。

结束 RSS 标记

这是 RSS0.91 文档的结束标记。

语法

</rss>

必需

必需。

使用特殊字符和 HTML 实体

尽管 RSS 2.0 文件是 XML 文档,但 RSS 2.0 通过支持全套 HTML 实体扩展了 XML。如果您想在 <url> 或 <link> 中使用特殊字符(如 &)标签,您必须用适当的小数或 HTML 实体替换这些字符。

在我们的 HTML 教程中查看完整的 HTML 实体集。

RSS 版本 2.0 示例 Feed

以下示例显示如何使用版本 2.0 编写 RSS Feed。

<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>TutorialsPoint</title>
      <link>http://www.tutorialspoint.com</link>
      <description>Tutorials and Reference Manuals</description>
      
      <language>en-us</language>
      <pubDate>Fri, 30 May 2003 11:06:42 GMT</pubDate>
      <lastBuildDate>Fri, 30 May 2003 11:06:42 GMT</lastBuildDate>
      
      <docs>http://www.tutorialspoint.com/rss</docs>
      <generator>Weblog Editor 2.0</generator>
      <managingEditor>mohtashim@tutorialspoint.com</managingEditor>
      
      <webMaster>webmaster@tutorialspoint.com</webMaster>
      
      <item>
         <title>RSS Tutorial</title>
         <link>http://www.tutorialspoint.com/rss</link>
         <description>Learn RSS in simple steps</description>
         
         <pubDate>Fri, 30 May 2003 11:06:42 GMT</pubDate>
         
         <guid>
            http://www.tutorialspoint.com/rss/rss-feed-formats.htm#v0.91
         </guid>
      
      </item>
      
      <item>
         <description>RSS Feed Formats</description>
         <pubDate>Fri, 30 May 2003 11:06:42 GMT</pubDate>
         
         <guid>
            http://www.tutorialspoint.com/rss/rss-feed-formats.htm#v2.0
         </guid>

      </item>
    </channel>
</rss>

RSS 2.0 文件扩展名

RSS 2.0 文档不需要特定的文件扩展名。建议使用 .rdf 或 .xml,前者为首选。

rss-feed-formats.html