使用Ruby RSS从原子提取中提取文本值

时间:2013-10-04 18:20:29

标签: ruby rss atom-feed

我正在尝试使用标准的lib ruby​​ RSS::Parser来解析Atom提要,这种方法很有效。

当我访问提取的字段时,例如.title,它会返回<title>The title</title>而不仅仅是The title。如果您解析,例如一个RSS提要.channel.title将返回The title

有没有办法将标准RSS::Parser用于原子Feed?还是一个bug?

我知道有像Feedzirra这样的替代品,但我宁愿使用标准的lib。

快速测试以查看ruby 1.9.3和2.0中的问题:

require "rss"
feed = RSS::Parser.parse(open("http://casadelkrogh.dk/atom.xml").read)
feed.title.to_s #=> "<title>CasaDelKrogh</title>"

2 个答案:

答案 0 :(得分:2)

这不是一个错误。

to_s方法几乎是对RSS::Atom::Feed::Title的检查。

如果你想获得没有标签的标题,你可以使用feed.title.content

答案 1 :(得分:2)

要获取title您的代码的内容应如下所示:

require "rss"
feed = RSS::Parser.parse(open("http://casadelkrogh.dk/atom.xml").read)
feed.title.to_s
# => "<title>CasaDelKrogh</title>"
feed.title.content
# => "CasaDelKrogh"