这是我尝试解析的提要的结构:
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">
<channel>
<title>
title..
</title>
<atom:link href="http://url/news/feed/" rel="self" type="application/rss+xml"/>
<link>http://url</link>
<description>
… description...
</description>
<lastBuildDate>Tue, 20 Nov 2012 14:37:30 +0000</lastBuildDate>
<language>sk-SK</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<generator>http://wordpress.org/?v=3.4.2</generator>
<item>
<title>title</title>
<link>
link
</link>
<comments>
link to comments
</comments>
<pubDate>Tue, 20 Nov 2012 13:29:05 +0000</pubDate>
<dc:creator>fcomp</dc:creator>
<category>
<![CDATA[ Novinky ]]>
</category>
<guid isPermaLink="false">http://url/?p=560</guid>
<description>
<![CDATA[
<p>text
]]>
<![CDATA[
text
]]>
</description>
<content:encoded>
<![CDATA[
text
]]>
</content:encoded>
<wfw:commentRss>
url
</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
...
以及我如何解析它:
def rss_feed
feed = Feedzirra::Feed.fetch_and_parse("http://url/news/feed/")
feed.entries.each do |entry|
puts entry.inspect
end
end
这段代码让我工作了很长时间,但现在我检查了这段代码的输出,输出是:
undefined method `entries' for nil:NilClass
我不知道,为什么突然代码不起作用,RSS仍然有相同的输出。这是一个错误Feedzirra
还是哪里可能有问题?
最终,有没有什么好的替代Feedzirra
宝石?我读过类似的问题有更多的开发人员,但我没有找到错误消息的原因......