Savon和Nokogiri解析结果

时间:2015-11-16 17:49:58

标签: ruby nokogiri savon

我使用Savon和Nokogiri来解析SOAP响应。

这是我的代码:

response = client.call(:is_resource_available, message: message)     
isResourceAvailableXML = response.body[:is_resource_available_response][:out]
@logger.debug "response=" + isResourceAvailableXML.inspect  
isResourceAvailableParsed = Nokogiri::XML(isResourceAvailableXML)
isResourceAvailable = isResourceAvailableParsed.xpath("//resource")
@logger.debug "isResourceAvailable=" + isResourceAvailable.inspect      
bIsResourceAvailable = isResourceAvailable["isavailable"]

这是日志:

response="<resource id=\"1188200267800225\" isavailable=\"1\" />"
isResourceAvailable=[#<Nokogiri::XML::Element:0x3fd16d979fb8 name="resource" attributes=[#<Nokogiri::XML::Attr:0x3fd16d979db0 name="id" value="1188200267800225">, #<Nokogiri::XML::Attr:0x3fd16d979d9c name="isavailable" value="1">]>]

我收到此错误:TypeError (no implicit conversion of String into Integer)

1 个答案:

答案 0 :(得分:0)

问题是我没有获得数组但只有一个节点,因此不是

isResourceAvailable = isResourceAvailableParsed.xpath("//resource")

我应该使用

isResourceAvailable = isResourceAvailableParsed.at_xpath("//resource")
相关问题