I am trying to create such XML using REXML
<root>
<add key='foo' value='bar'/>
</root>
But I get (note that key / order of values)
<root>
<add value='bar' key='foo'/>
</root>
code:
require 'rexml/document'
include REXML
doc = Document.new
doc.add_element('root')
el = doc.root.add_element('add')
el.add_attribute('key', 'foo')
el.add_attribute('value', 'bar')
puts doc
It doesn't matter if I write:
el.add_attribute('key', 'foo')
el.add_attribute('value', 'bar')
or
el.add_attribute('value', 'bar')
el.add_attribute('key', 'foo')
Resultsame. It appears that REXML uses some kind of dictionary to store attributes ...
Can I do the required order: key / value?
source
share