2011-10-28 45 views
0

我有一个具有相同名称的路径的文档。例如:Rails:使用相同路径名称解析XML文档

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

它返回多张照片(因为所有的照片具有相同的路径名)。

对于Nokogiri,我怎么能说只返回第一个?还是一个里面有一个字符串?

感谢

回答

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

xml_doc.xpath('person/photos/photo/url[not(text()="")]')[0] 
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更直观,更易于使用。