我正在考虑将 Ruby savon 用于 SOAP。出于纯粹受虐的原因,我必须处理具有属性的 SOAP 元素。
所以,没问题,savon docs 网站上有一个例子突出了这种能力:
{ :person => "Eve", :attributes! => { :person => { :id => 666 } } }.to_soap_xml
"<person id=\"666\">Eve</person>"
我的问题是如何在子元素上设置属性,例如,假设我向 person 添加地址子元素:
{ :person => {:address => ""}, :attributes! => { :person => { :id => 666 } } }.to_soap_xml
现在我想为地址元素添加一个 id 属性:
如果我将地址嵌套在属性哈希中,那就不行了:
{ :person => {:address => ""}, :attributes! => { :person => { :id => 666, :address => {:id => 44 }} }}.to_soap_xml
所以我的问题是,我怎样才能得到这个?
<person id=666><address id=44></address></person>