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 ]"?>
必需
始终准确。可选编码属性(默认为 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,前者为首选。