如何在Feedzirra中获取自定义元素属性而不是值

时间:2015-08-19 22:19:44

标签: ruby-on-rails ruby parsing rss feedzirra

我有一个类似

的RSS Feed
<item>
<title>Blah</title>
<enc:enclosure resource="http://hello.jpg" type="image/jpeg"/>
</item>

使用Feedzirra我正在尝试检索资源的URL。

我试过了

Feedzirra::Feed.add_common_feed_entry_element('enc:enclosure', :as => :img)
feed.entries.first.img

这总是会返回Nil,我认为这是因为元素没有价值 我也试过

 Feedzirra::Feed.add_common_feed_entry_element('enc:enclosure', :resource => :res, :as => :img)
 feed.entries.first.res

img是nil,res返回未定义的方法。

那么如何获取元素属性值“resource”?

1 个答案:

答案 0 :(得分:3)

真正关注rss_entry.rb

https://github.com/feedjira/feedjira/blob/master/lib/feedjira/parser/rss_entry.rb

我想通过尝试关注&#34;媒体:内容&#34;示例

所以这是正确的代码。

Feedzirra::Feed.add_common_feed_entry_element('enc:enclosure', :as => :img, :value=>:resource)
feed.entries.first.img

返回&#34; http://hello.jpg&#34;

如果我理解正确,那么:as告诉解析器我想要什么。然后将其值设置为感兴趣的属性,在本例中为resource。

希望这有助于某人。