module MultiXml::Parsers::Rexml

def merge!(hash, key, value)

Value to be associated with key.
value::
Key to be added.
key::
Hash to add key/value pair to.
hash::

appended to that Array.
an Array, it will be wrapped in an Array. Then the new value is
already exists and the existing value associated with key is not
Adds a new key/value pair to an existing Hash. If the key to be added
def merge!(hash, key, value)
  if hash.has_key?(key)
    if hash[key].instance_of?(Array)
      hash[key] << value
    else
      hash[key] = [hash[key], value]
    end
  elsif value.instance_of?(Array)
    hash[key] = [value]
  else
    hash[key] = value
  end
  hash
end