У меня есть мыльный звонок с Савоном. Это прекрасно работает и дает следующий ответ:Прочитать ответ с помощью Nokogiri с помощью SOAP-вызова с Savon
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://
schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetTop10Response xmlns="http://www.kirupafx.com">
<GetTop10Result>
<string>string</string>
<string>string</string>
</GetTop10Result>
</GetTop10Response>
</soap:Body>
</soap:Envelope>
Теперь я хочу взять все строковые элементы из ответа. Но Я не могу заставить его работать.
def query(params=nil)
client = Savon::Client.new do
wsdl.document = "http://www.kirupafx.com/WebService/TopMovies.asmx?wsdl"
end
response = client.request :get_top10
if response.success?
xml = Nokogiri::XML(response.to_xml)
print "Until here oké!"
xml.search('//GetTop10Result').each do |result|
print "How are you Ruby?"
@result[result.at('string').inner_text] = result.at('string').inner_text
end
else
raise "Error!"
end
Но он никогда не печатает мои красивые «Как вы, Руби»? Может кто-нибудь помочь мне? Что я делаю неправильно?
Что происходит, когда вы заменяете 'xml.search'' xml.xpath'? – ScottJShea