我有一个哈希,我想使用 SimpleXML 解析为 XML,但是有一个我不知道如何处理的技巧:
我的哈希看起来像:
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 不能解决问题还是我需要寻找其他解决方案?