2017-03-08 54 views
0

這是我在JRuby中的代碼行,當XPath的解析在JRuby中

XPath.match(@xmlDoc, "//services/service[./serviceType = 'ADDRESSBOOK']/@data-uri").value 

當我運行此我得到這個錯誤

NoMethodError: undefined method `value' for #<Array:0x6b39d609> 

任何想法,我該怎麼辦得到的陣列?

回答

0

你需要分析每個元素

xpath_array = XPath.match(@xmlDoc, "//services/service[./serviceType = 'ADDRESSBOOK']/@data-uri") 
    xpath_array.each do |element| 
    puts element.value 
end 
+0

巨大的陣列和印刷價值,它的工作。你能解釋一下它的代碼嗎? – Zaf

+0

1.您已經請求DOM以匹配XPath的元素數組 2.您使用.each方法遍歷數組,並將每個迭代元素置於'element'變量 3.使用'puts'命令打印元素的內部值。 我建議你讀一本關於紅寶石的書,因爲這個問題太簡單了...... – Stormy

+0

謝謝Stormy :-) – Zaf