Ruby 来自RSS的Hpricot空链接元素

Ruby 来自RSS的Hpricot空链接元素,ruby,rss,hpricot,Ruby,Rss,Hpricot,我目前正在使用Ruby中的Hpricot解析RSS提要 除元素外,所有元素都是可检索的 这就是我正在做的: 当我使用(“/link”)时,guid工作,而链接失败。检查它时,它表示它是一个空元素。虽然如果查看提要,所有项目都有带有值的链接元素 doc = Hpricot.parse(open("http://www.highways.gov.uk/rssfeed/rss.xml")) (doc/:item).each do |xml_product| puts xml_product.

我目前正在使用Ruby中的Hpricot解析RSS提要

除元素外,所有元素都是可检索的

这就是我正在做的:

当我使用(“/link”)时,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

有什么想法吗?

这里的问题是您试图检索的xml格式不正确:

<link />http://www.trafficengland.co.uk/map.aspx?isTrafficAlert=true&amp;lat=53.4363602900352&amp;lon=-2.31328109635184

我在源代码中似乎看不到这种格式错误的xml?
require 'nokogiri'
require 'open-uri'

doc = Nokogiri::XML(open("http://www.highways.gov.uk/rssfeed/rss.xml"))   
doc.xpath("//item").each_with_index do |xml_product|
  puts xml_product.xpath('guid').text
  puts xml_product.xpath('link').text
end
# =>
     391532
     http://www.trafficengland.co.uk/map.aspx?....
     ....