如何格式化 Savon 输出到终端的 XML?
如何格式化 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>
我用谷歌搜索,在这里搜索SO,阅读Savon等的文档和github问题,但无济于事。
有谁知道吗? @rubiii?
How do I format the XML that Savon outputs to the (OSX) terminal?
I currently get everything mangled up in a single line, which is hard to read.
I want something like this, formatted on multiple lines:
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>
I have googled, searched here on SO, read the docs and github issues for Savon etc. to no avail.
Does anyone know?
@rubiii ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我需要同样的东西,但没有从旧的答案中得到我想要的东西。
Savon 的 SOAP::Response 具有 一个名为 doc 的方法,它返回
Nokogiri::XML::Document
。无论我将其写入文件还是使用puts
将其显示在控制台中,这都为我提供了格式良好的 XML。I needed the same thing and didn't get what I wanted from the older answer.
Savon's
SOAP::Response
has a method called doc that returnsNokogiri::XML::Document
. This gave me nicely formatted XML whether I wrote it to a file or displayed it in console usingputs
.将响应转换为 Nokogiri::XML 对象:
put Nokogiri::XML(response[:foo][:bar])
Transform the response into a Nokogiri::XML object:
puts Nokogiri::XML(response[:foo][:bar])