我需要一些帮助来理解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的正确方法是什么?
答案 0 :(得分:1)
entry.content
是RSS::Atom::Feed::Entry::Content
的实例:
feed.entry(1..10).first.content.class
# => RSS::Atom::Feed::Entry::Content < RSS::Element
它有许多公共方法可以让您检查标记的内容,包括content
和to_s
。您可以通过查找文档或执行以下操作来检查公共方法:entry.content.public_methods
。