Savon:XML标签的数组
我正在使用Savon进行SOAP请求,在SOAP请求XML的某个地方,我需要生成这段代码:
最好的方法是什么?
我找到了解决方案。
soap.body = { #... other tags "content" => { "item" => ["", "", ""], :attributes! => { "item" => { "a" => ["1", "2", "3"], "b" => ["0", "0", "0"] } } } #... other tags }
Savon v0.9.7增加了对Builder的支持,我建议使用它而不是试图通过Hashes强制属性,因为它更具可读性:
soap.body do |xml| xml.content do xml.item(:a => "1", :b => "0") xml.item(:a => "2", :b => "0") xml.item(:a => "3", :b => "0") end end
你可以这样做:
def content xml = Builder::XmlMarkup.new xml.content do xml.item(:a => "1", :b => "0") xml.item(:a => "2", :b => "0") xml.item(:a => "3", :b => "0") end end