~~~
<parent>
  <element>
    <a>1</a>
    <b>2</b>
    <c>3</c>
  </element>
  <element>
    <x>1</x>
    <y>2</y>
    <z>3</z>
  </element>
</parent>
~~~

...is expected to be converted to:

~~~
{"parent"=>{"element"=>[
  {"a"=>"1", "b"=>"2", "c"=>"3"},
  {"x"=>"1", "y"=>"2", "z"=>"3"}
]}}
~~~

With `Array(oldval)` the inner structure is not preserved and what should be hashes (`{"a" => "1"...}` and `{"x" => "1"...}`) is converted to arrays, too.  The wrapping in an array should only affect the top-most layer.

~~~
irb(main):001:0> val = {"a"=>1}
=> {"a"=>1}
irb(main):002:0> Array(val)
=> [["a", 1]]
irb(main):003:0> 
~~~