ruby RSS解析器没有返回正确的信息

时间:2014-12-14 19:57:51

标签: ruby xml rss

我需要一些帮助来理解Ruby rss解析器的工作原理。我尝试使用以下代码访问此feed的前10个条目的内容:

URL = 'http://weblog.rubyonrails.org/feed/atom.xml'
...

def initialize(versionName)
  open(URL) do |rss|
    feed = RSS::Parser.parse(rss)

    feed.entry(1..10).each do |entry|
      @attributes[:descriptions][:"#{versionName}"] = entry.content
    end

  end
end

调试时,我意识到entry.content没有给我正确的数据。相反,它给了我this endless data甚至导致我的控制台卡住。任何人都可以说出在我的情况下解析我的Feed的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

entry.contentRSS::Atom::Feed::Entry::Content的实例:

feed.entry(1..10).first.content.class
# => RSS::Atom::Feed::Entry::Content < RSS::Element

它有许多公共方法可以让您检查标记的内容,包括contentto_s。您可以通过查找文档或执行以下操作来检查公共方法:entry.content.public_methods