我正试图解析来自savon soap api的以下soap响应
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:getConnectionResponse xmlns:ns="http://webservice.jchem.chemaxon">
<ns:return>
<ConnectionHandlerId>connectionHandlerID-283854719</ConnectionHandlerId>
</ns:return>
</ns:getConnectionResponse>
</soapenv:Body>
</soapenv:Envelope>
我正在尝试使用libxml ruby,但没有成功。基本上,我想提取标签和connectionhandlerid值中的任何内容。
最佳答案
在使用savon时,可以将响应转换为散列。转换方法也为您做了一些其他有用的事情。
然后,您可以使用类似于下面的代码获得所需的值
hres = soap_response.to_hash
conn_handler_id = hres[:get_connection_response][:return][:connection_handler_id]
查看documentation