限制Ruby中的RSS Feed

时间:2015-09-30 16:20:47

标签: ruby-on-rails ruby rss

这看起来很简单,不值得回答,但我还没有找到答案!我正在使用

解析RSS提要
@rss_industry = RSS::Parser.parse('http://construction.com/rss/construction.xml', false)

这会带回整个Feed。我只是想限制返回的项目数量。有一种简单的方法可以做到这一点吗?

感谢。

1 个答案:

答案 0 :(得分:0)

这似乎不是stdlib RSS::Parser课程中的一项功能。

还有其他解析RSS的方法。

但是,即使您只对前X个项目感兴趣,也可能无法避免通过HTTP获取整个XML文件。你已经掌握了它,可能没有什么好办法可以避免解析整个XML,即使你只想要它的某些部分。使用流式XML解析器可能有一些复杂的方式,但除非XML文件真的巨大,否则你可能不想去那里。

相反,如果您只对Feed中的前X项感兴趣,为什么不只看这些?

 feed = RSS::Parser.parse('http://construction.com/rss/construction.xml', false)

 all_items = feed.items
 first_10_items = feed.items.slice(0, 10)