0
我有一個哈希值,我想使用SimpleXML解析到XML,但還有一招,我不知道如何處理:如何使用XmlSimple將哈希解析爲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>
沒關係,並且像魅力一樣工作,但是當我需要循環時存在問題。 Im做一個自動化測試,每個測試循環,並保存在一個哈希和我需要將其保存在一個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>
在每個測試中合併每個哈希將不會執行這個技巧cz它會阻止最後一個哈希(subroot) 我是否讓自己清楚了? 不能simpleXML做伎倆還是我需要尋找另一種解決方案?
請更改你的問題,很難說出你想要的。 – tokland 2011-05-17 14:15:27
當你需要循環時有問題嗎?你能更具體一點嗎? – 2011-05-17 14:18:41
對不起,英語不好。我在做一個自動測試腳本,需要保存每個測試數據以供進一步檢查。 爲了做到這一點,我的應用程序保存每個測試循環(Junit ... @test ... @ parametrization.got它?)在一個哈希上,並在測試結束時,我需要將它保存爲XML。 問題是,我不能重複哈希(duhh)上的「subroot」名稱,但我的xml必須具有相同的模式。 ....字段... ..... fields .... 對不起,但它很難寫明確下來。 –
2011-05-18 19:03:52