0

我有一个 RSS 提要,看起来像

<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 返回未定义的方法。

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

4

1 回答 1

3

在真正查看 rss_entry.rb 之后

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

通过尝试遵循“媒体:内容”示例,我弄清楚了我是如何倒退的

所以这里是正确的代码。

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

返回“ http://hello.jpg

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

希望这可以帮助某人。

于 2015-08-19T22:32:48.087 回答