1

如何格式化 Savon 输出到 (OSX) 终端的 XML?

我目前将所有内容都整理在一行中,这很难阅读。

我想要这样的东西,格式化为多行:

DEBUG -- : <env:Envelope
DEBUG -- :     xmlns:blz="http://thomas-bayer.com/blz/"
DEBUG -- :     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
DEBUG -- :     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
DEBUG -- :     xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
DEBUG -- :   <env:Body>
DEBUG -- :     <blz:getBank>
DEBUG -- :       <blz:blz>70070010</blz:blz>
DEBUG -- :     </blz:getBank>
DEBUG -- :   </env:Body>
DEBUG -- : </env:Envelope>

我用谷歌搜索,在这里搜索,阅读 Savon 等的文档和 github 问题,但无济于事。

有人知道吗?@rubiii?

4

2 回答 2

1

我需要同样的东西,但没有从旧答案中得到我想要的东西。

SavonSOAP::Response一个名为 doc 的方法,它返回Nokogiri::XML::Document. 无论我将其写入文件还是使用puts.

client = Savon.client(wsdl: "http://service.example.com?wsdl")
response = client.call(:my_operation)
puts response.doc
于 2015-02-23T20:55:44.107 回答
0

将响应转换为 Nokogiri::XML 对象:

把 Nokogiri::XML(response[:foo][:bar])

于 2012-01-20T18:50:58.183 回答