Remember to specify the directory with "searchpath" where the XML input file is,
even if it is the current directory.
The ?xml statement in the XML input was ignored.
"keeproot" keeped the root tag "user" correctly for us.
Without "forcearray => 1", child elements with only text contents were
parsed as hash entries of keys and values, where the values are the text contents.
But the attribute of the parent element was also parsed as a hash entry.
So those child elements and the attribute can not be distinguished once parsed into
the hash structure.
If you want to maintain the difference between attributes and child elements
with only text contents, you should use the "forcearray => 1" option.
The order of hash entries did not match the order of elements in the XML input.