我正在尝试让华盛顿邮报政治 RSS 提要显示在我的 Rails 应用程序中。
wp_url = 'http://feeds.washingtonpost.com/rss/politics'
open(wp_url) do |rss|
@wp_feed = RSS::Parser.parse(rss)
end
使用该代码,我收到错误消息:
attribute <url> is missing in tag <source>
我究竟做错了什么?
我正在尝试让华盛顿邮报政治 RSS 提要显示在我的 Rails 应用程序中。
wp_url = 'http://feeds.washingtonpost.com/rss/politics'
open(wp_url) do |rss|
@wp_feed = RSS::Parser.parse(rss)
end
使用该代码,我收到错误消息:
attribute <url> is missing in tag <source>
我究竟做错了什么?
当外部馈送无效时会发生此错误。
在这种情况下,RSS 不包含元素的必需url
属性。<source>
<source>
是 的可选子元素<item>
。它的值是项目来自的 RSS 频道的名称,从它的 . 它有一个必需的属性 ,
url
它链接到源的 XML 化。
<source url="http://www.tomalak.org/links2.xml">Tomalak's Realm</source>
此元素的目的是传播链接的信誉,宣传新闻项目的来源。它可以在聚合器的 Post 命令中使用。它应该在将项目从聚合器转发到博客创作工具时自动生成。
Ruby 1.9.3 文档中提到的RSS 类parse
使用以下默认参数解释了它的方法:
parse(rss, do_validate=true, ignore_unknown_element=true, parser_class=default_parser)
因此,如果您想忽略此类验证错误,false
请作为第二个参数传递,您将使用以下内容读取外部 RSS 提要:
require 'rss'
wp_url = open('http://feeds.washingtonpost.com/rss/politics').read
@wp_rss = RSS::Parser.parse(wp_url, false)