2011-10-28 41 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更直觀,更易於使用。