我有一個哈希一樣,在飛標籤生成的XML建設者
object = { :type => 'book', :name => 'RoR', :price => 33 }
OR
object = { :type => 'wig', :name => 'Elvis-Style', :price => 40, :color => 'black' }
的問題是,在上述散列鍵可能會有所不同所有的時間,甚至增加,根據對象類型而減少。
我想要使用Xml::Builder
爲上述哈希生成XML。 XML標籤由散列中的keys
決定,並且標籤內的text
是與該密鑰對應的值。
我可以使用eval
來做下圖。不過,我認爲必須有更好的方式來做到這一點。
object.each do |key, text|
eval("xml.#{key.to_s} do
#{text}
end
")
end
此方法是否適用於從xml對象發出標籤,而不是輸出完整的xml文件? – mwfearnley 2016-03-31 11:57:58