Rails:解析具有相同路径名的XML文档

时间:2011-10-28 04:25:44

标签: xml ruby-on-rails-3 nokogiri

我有一个文件,其路径名称相同。例如:

 xml_doc = Nokogiri::XML(response.body)
  photo = xml_doc.xpath('person').xpath('photos').xpath('photo').xpath('url').inner_text

它会返回几张照片(因为所有照片都有相同的路径名)。

我怎么能对Nokogiri说回到第一个呢?或者里面有一个字符串?

由于

2 个答案:

答案 0 :(得分:0)

xml_doc.xpath('person/photos/photo/url')[0]

xml_doc.xpath('person/photos/photo/url[not(text()="")]')[0]

答案 1 :(得分:0)

您还可以使用at_css方法:

 xml_doc.at_css('person photos photo url')
 # just css will return all, just like xpath
 xml_doc.css('person photos photo url')

就个人而言,我发现cssat_css更直观,更易于使用。