2012-01-20 40 views
1

如何格式化Savon輸出到(OSX)終端的XML?如何格式化Savon輸出到終端的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> 

我用Google搜索,搜索這裏SO,閱讀薩翁等文檔和GitHub的問題無濟於事。

有誰知道嗎? @rubiii?

回答

1

我需要同樣的事情,並沒有得到什麼我想從舊的答案。

Savon's SOAP::Response has a method called doc返回Nokogiri::XML::Document。這給了我很好的格式化XML,無論我是否將它寫入文件或使用puts將其顯示在控制檯中。

client = Savon.client(wsdl: "http://service.example.com?wsdl") 
response = client.call(:my_operation) 
puts response.doc 
+0

你是如何得到薩翁默認輸出,而不是被損壞的?任何代碼? – Magne

+0

我覺得我可能會錯過一些東西,但我添加了示例代碼。這在OSX的我的Rails控制檯中很好地格式化了。這不適合你嗎? – iftheshoefritz

+0

啊,我的項目還在舊版Savon版本中,所以Savon:Module沒有客戶端方法。我已經轉移到其他項目,所以我會假設你的答案有效,並接受它作爲正確的答案。 – Magne

0

變換的響應爲引入nokogiri :: XML對象:

提出引入nokogiri :: XML(響應[:富] [:巴])