2011-05-03 63 views
0

我正在使用XmlSimple將XML文檔轉換爲紅寶石哈希。原來的數據是這樣的:XmlSimple爲每個元素創建單元素數組 - 有更好的方法嗎?

<resultPage> 
    <total>2</total> 
    <offset>0</offset> 
    <limit>200</limit> 
</resultPage> 

進入這個:

{ :resultPage => [ 
    { 
     :offset => [ "0" ], 
     :total => [ "2" ], 
     :limit => [ "200" ] 
    } 
] } 

注意它是如何把一切內幕數組,我想是因爲它不知道如果架構允許的,比如多個實例, <offset>,內部<resultPage>。所以,要訪問我的數據,我總是在所有內容的末尾添加一個[0]

我必須忍受這一點嗎,還是有一種優雅的方式呢?

回答

1

您可以將「ForceArray」選項傳遞給XmlSimple(默認爲true,將其設置爲false以除去數組)。

> XmlSimple.xml_in(str) 
=> {"total"=>["2"], "offset"=>["0"], "limit"=>["200"]} 
> XmlSimple.xml_in(str, {"ForceArray" => false}) 
=> {"total"=>"2", "offset"=>"0", "limit"=>"200"} 
+0

太棒了! RTFD FTW – 2011-05-03 18:40:50

相關問題