2
在Savon中如何根據item_id
中元素的數量創建一個標籤數組?任何其他方式呢?Ruby - Rails - Savon結構SOAP XML主體
item_id = "abc, def, xyz"
n = item_id.split(,).length
#ItemList shall be of n times by creating ItemList for each
soap.body = {
'Body' => {
'ItemList' => {
'ItemId' => "abc"
}
'ItemList' => {
'ItemId' => "def"
}
'ItemList' => {
'ItemId' => "xyz"
}
}
}
編輯:下面是實際預期的XML的一個樣本,Body
應有多個ItemList
價值標籤爲每個ItemId
。 ItemId
長度可以是任何東西。
item_id = "abc, def, xyz" #split this and make xml for each item.
<Body>
<ItemList>
<ItemId>abc</ItemId> #abc
<TimeStamp>
<Time>04:57:40</Time>
<TimeZone>EST</TimeZone>
<Date>2012-05-12</Date>
</TimeStamp>
<ContactInfo>
<Phone>888-888-8880</Phone>
<Email>[email protected]</Email>
<Name>name1</Name>
</ContactInfo>
</ItemList>
<ItemList>
<ItemId>def</ItemId> #def
<TimeStamp>
<Time>04:27:40</Time>
<TimeZone>EST</TimeZone>
<Date>2012-05-12</Date>
</TimeStamp>
<ContactInfo>
<Phone>888-888-8881</Phone>
<Email>[email protected]</Email>
<Name>name2</Name>
</ContactInfo>
</ItemList>
<ItemList>
<ItemId>xyz</ItemId> #xyz
<TimeStamp>
<Time>04:37:40</Time>
<TimeZone>EST</TimeZone>
<Date>2012-05-12</Date>
</TimeStamp>
<ContactInfo>
<Phone>888-888-8882</Phone>
<Email>[email protected]</Email>
<Name>name3</Name>
</ContactInfo>
</ItemList>
</Body>
您在XML中的預期結果是什麼? XML如何看起來像使用上述語句創建的? –
@SteffenRoller - 嗨Steffen。我更新了我的問題。基本上我有一個字符串/或我想要爲其生成xml的數組。但分割值本身只是xml中的一個內部標籤。我必須爲每個項目創建多個外部標籤並在其中添加其他數據。 –