来自 RSS 的 Hpricot 空链接元素
我目前正在 Ruby 中使用 Hpricot 解析 RSS 提要。
除 元素外,所有元素都是可检索的。
这就是我正在做的事情:
当我执行 ("/link").inspect 时,guid 有效,而链接失败。检查它说它是一个空元素。尽管如果您查看提要,所有项目都具有带有值的链接元素。
doc = Hpricot.parse(open("http://www.highways.gov.uk/rssfeed/rss.xml"))
(doc/:item).each do |xml_product|
puts xml_product.search("/guid").first.children.first.raw_string
puts xml_product.search("/link").first.children.first.raw_string
end
对可能出什么问题有什么想法吗?
I'm currently parsing an RSS feed using Hpricot in Ruby.
All the elements are retrievable, except the element.
This is what I'm doing:
The guid works, whereas the link fails, when I do ("/link").inspect it says it's an empty element. Although if you look at the feed, all the items have link elements with values.
doc = Hpricot.parse(open("http://www.highways.gov.uk/rssfeed/rss.xml"))
(doc/:item).each do |xml_product|
puts xml_product.search("/guid").first.children.first.raw_string
puts xml_product.search("/link").first.children.first.raw_string
end
Any thoughts on what could be wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里的问题是您尝试检索的格式错误的 xml:
因此,当您准备
/link
查询时,您会收到NoMethod
错误,因为link
元素为空。更新
这似乎是
hpricot
的问题。尝试使用nokogiri
代替:The problem here is malformed xml that you try to retrieve:
Hence when you prepare
/link
query you getNoMethod
error becauselink
elements are empty.UPDATE
It seems to be problem of
hpricot
. Trynokogiri
instead: