У меня есть хэш, как,О порождении мухи тегов для XML строители
object = { :type => 'book', :name => 'RoR', :price => 33 }
ИЛИ
object = { :type => 'wig', :name => 'Elvis-Style', :price => 40, :color => 'black' }
Проблема заключается в том, что ключи в вышеуказанном хэше могут отличаться все время или даже увеличить и уменьшается в зависимости от типа объекта.
Что я хочу сделать для XML для вышеуказанных хэшей, используя Xml::Builder
. Теги XML определяются keys
в хеш и text
внутри тега - это значение, соответствующее этому ключу.
Я могу использовать eval
, чтобы сделать это, как показано ниже. Тем не менее, я думаю, что должен быть лучший способ сделать это.
object.each do |key, text|
eval("xml.#{key.to_s} do
#{text}
end
")
end
Можно ли настроить этот метод для извлечения тегов из объекта xml, а не для вывода полного xml-файла? – mwfearnley