У меня есть хеш, который я хотел проанализировать в XML с помощью SimpleXML, но есть хитрость, с которой я не знаю, как справиться:
Мой хэш выглядит так:
require 'xmlsimple'
test = { "subroot" => {
field1 => {'var1' = ['xyz'], 'var2' = ['yyyy']},
field2 => {'var1' = ['xyz'], 'var2' = ['yyyy']},
field3 => {'var1' = ['xyz'], 'var2' = ['yyyy']},
'id' = 'xxxxxx'} }
Я разбираюэто в XML, используя:
XmlSimple.xml_out(teste, 'RootName' => 'root')
, что приводит к:
<cenario>
<subroot id="xxxxxx">
<field1>
<var1>xyz</var1>
<var2>yyyy</var2>
</field1>
<field2>
<var1>xyz</var1>
<var2>yyyy</var2>
</field2>
<field3>
<var1>xyz</var1>
<var2>yyyy</var2>
</field3>
</subroot>
</cenario>
Это нормально и работает как талисман, но есть проблема, когда мне нужно зациклить.Я делаю автоматизированный тест, который зацикливается на каждом тесте и сохраняет данные теста в хэше, а к концу тестов мне нужно сохранить его в формате XML, и мне нужно получить что-то вроде этого:
<cenario>
<subroot id="xxxxxx">
<field1>
<var1>xyz</var1>
<var2>yyyy</var2>
</field1>
<field2>
<var1>xyz</var1>
<var2>yyyy</var2>
</field2>
<field3>
<var1>xyz</var1>
<var2>yyyy</var2>
</field3>
</subroot>
.
.
.
<subroot id="xxxx10x">
<field1>
<var1>xyz</var1>
<var2>yyyy</var2>
</field1>
<field2>
<var1>xyz</var1>
<var2>yyyy</var2>
</field2>
<field3>
<var1>xyz</var1>
<var2>yyyy</var2>
</field3>
</subroot>
</cenario>
объединение каждого хэша в каждом тесте не поможет, потому что он предотвращает последний хэш (подкорень). Я ясно дал понять?Разве simpleXML не может сработать или мне нужно искать другое решение?