I have many levels of a nested hash like:
{ :foo => \'bar\', :foo1 => { :foo2 => \'bar2\', :foo3 => \'bar3\', :foo4 => { :foo5 => \'bar5\'
How about this?
class Hash def to_xml map do |k, v| text = Hash === v ? v.to_xml : v "<%s>%s%s>" % [k, text, k] end.join end end h.to_xml #=> "barbar2bar3bar5"