2

SOAP リクエストにSavonを使用しており、SOAP リクエスト XML のどこかで、次のコードを生成する必要があります。

<content>
  <item a="1" b="0"/>
  <item a="2" b="0"/>
  <item a="3" b="0"/>
</content>

これを行う最善の方法は何ですか?

4

3 に答える 3

3

私は解決策を見つけました。

soap.body = {  
    #... other tags  
    "content" => {  
        "item" => ["", "", ""],  
        :attributes! => {  
            "item" => {  
                "a" => ["1", "2", "3"],  
                "b" => ["0", "0", "0"]  
            }  
        }  
    }
    #... other tags    
}  
于 2011-08-10T17:12:46.243 に答える
1

Savon v0.9.7には、Builderのサポートが改善されており、ハッシュを介して属性を強制するのではなく、使用することをお勧めします。これは、はるかに読みやすいためです。

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
于 2011-08-25T13:57:44.977 に答える
0

次のようなことができます。

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
于 2011-08-09T22:07:07.663 に答える