gpt4 book ai didi

ruby - 从 Savon 响应中读取值?

转载 作者:数据小太阳 更新时间:2023-10-29 08:05:18 27 4
gpt4 key购买 nike

我想从以下响应中读取 customer.customer_info_id 的值。我的回复还包括命名空间:

<Field name="customer.customer_id" value="5403699387967341892"/>
<Field name="**customer.customer_info_id**" value="5403699387967341892"/>
<Field name="customer.customer_since_code" value="1985">
<Lookup language="EN" value="1985"/>
<Lookup language="FR" value="1985"/>
</Field>

我尝试了以下方法:

# Savon code tried:        

doc = Nokogiri::XML(response.to_xml)
doc.remove_namespaces!
val = doc.xpath("//Field:name" => "Customer.entity_id").to_s
puts "val is: #{val}"

它返回空值。

最佳答案

我认为没有必要解析 XML 响应。萨翁为你做。您没有提供调用代码,所以我假设它将是 soap

client = Savon::Client.new do
wsdl.document = <your url>
end

response = client.request :wsdl, :soap do
<your parameters go here>
end

# pp response.to_hash

result = response.to_hash[:soap_response][:soap_result][:customer][:customer_info_id]

我经常使用 pp response.to_hash 来了解返回的内容。

关于ruby - 从 Savon 响应中读取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11224219/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com