使用FeedZirra解析自定义Feed元素

时间:2010-07-23 11:40:22

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

有没有办法解析Feed的自定义元素?不提供条目',Feed的自定义元素。我知道有一种方法可以为条目做同样的事情。像,

Feedzirra::Feed.add_common_feed_entry_element("wfw:commentRss", :as => :comment_rss)
feed = Feedzirra::Feed.parse(some_atom_xml)
feed.entries.first.comment_rss # => wfw:commentRss is now parsed!

我希望能够为Feed对象实现相同的功能。像,

Feedzirra::Feed.add_common_feed_element("geo:lat", :as => :latitudes)
feed = Feedzirra::Feed.fetch_and_parse(“somerss”)
feed.latitudes # => 44.022448

有办法吗?或者这是否需要为FeedZirra编写补丁?

2 个答案:

答案 0 :(得分:4)

有点晚了,但更多人可能正在寻找答案。 将以下行放在config / initializers中的文件中似乎有效:

Feedzirra::Parser::RSS.element :latitudes

答案 1 :(得分:0)

根据新的http://feedjira.com/extending.html

# Add the generator attribute to all feed types
Feedjira::Feed.add_common_feed_element('generator')
Feedjira::Feed.fetch_and_parse("http://www.pauldix.net/atom.xml").generator # => 'TypePad'

# Add some GeoRss information
Feedjira::Feed.add_common_feed_entry_element('geo:lat', :as => :lat)
Feedjira::Feed.fetch_and_parse("http://www.earthpublisher.com/georss.php").entries.each do |e|
  p "lat: #[e.lat}, long: #{e.long]"
end