Joh*_*ohn 1 ruby rss ruby-on-rails-3
我想在我的Rails应用程序中显示华盛顿邮政政治RSS提要.
wp_url = 'http://feeds.washingtonpost.com/rss/politics'
open(wp_url) do |rss|
@wp_feed = RSS::Parser.parse(rss)
end
Run Code Online (Sandbox Code Playgroud)
使用该代码,我收到错误:
attribute <url> is missing in tag <source>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
外部订阅源无效时会发生此错误.
在这种情况下,RSS不包含元素的必需url属性<source>.
<source>是一个可选的子元素<item>.它的值是项目来自的RSS频道的名称,源自它.它有一个必需属性,
url它链接到源的XML化.
<source url="http://www.tomalak.org/links2.xml">Tomalak's Realm</source>此元素的目的是传播链接的信用,以宣传新闻项目的来源.它可以在聚合器的Post命令中使用.将项目从聚合器转发到Weblog创作工具时,应自动生成它.
Ruby 1.9.3 doc中提到的RSS类parse使用这些默认参数解释了它的方法:
parse(rss, do_validate=true, ignore_unknown_element=true, parser_class=default_parser)
Run Code Online (Sandbox Code Playgroud)
因此,如果您想忽略此类验证错误,请传递false第二个参数,您将使用以下内容读取外部RSS源:
require 'rss'
wp_url = open('http://feeds.washingtonpost.com/rss/politics').read
@wp_rss = RSS::Parser.parse(wp_url, false)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |