为节点数组创建不同的属性

时间:2014-07-28 20:53:38

标签: ruby savon

我正在尝试通过Savon构建以下xml:

<host-selection>
    <ip-address-list-selection>
            <ip-address value="1.1.1.1" />
            <ip-address value="2.2.2.2" />
     </ip-address-list-selection>
</host-selection>

我希望像这样的东西能起作用。但是&#39;价值&#39;没有添加。 任何建议都将不胜感激。

ip = ['1.1.1.1', '2.2.2.2']
ip_list = {'ip-address-list-selection' => {'ip-address' => []}}
ip.each do |ip_i|
       ip_list['ip-address-list-selection']['ip-address'] << {:attributes! =>{'ip-address' => {'value' => ip_i}}}
end

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作。它不会产生内联属性,而是嵌套值。

ip = ['1.1.1.1', '2.2.2.2']
ip_list = {'ip-address-list-selection' => {'ip-address' => []}}
ip.each do |ip_i|
       ip_list['ip-address-list-selection']['ip-address'] << {'value' => ip_i}
end
相关问题