Methods
Constants
CONTENT_ROOT = '__content__'.freeze
Public Instance methods
to_hash(hash = {})

Convert XML document to hash

hash:Hash to merge the converted element into.
    # File activesupport/lib/active_support/xml_mini/nokogiri.rb, line 35
35:         def to_hash(hash = {})
36:           node_hash = {}
37: 
38:           # Insert node hash into parent hash correctly.
39:           case hash[name]
40:             when Array then hash[name] << node_hash
41:             when Hash  then hash[name] = [hash[name], node_hash]
42:             when nil   then hash[name] = node_hash
43:             else raise "Unexpected error during hash insertion!"
44:           end
45: 
46:           # Handle child elements
47:           children.each do |c|
48:             if c.element?
49:               c.to_hash(node_hash)
50:             elsif c.text? || c.cdata?
51:               node_hash[CONTENT_ROOT] ||= ''
52:               node_hash[CONTENT_ROOT] << c.content
53:              end
54:           end
55: 
56:           # Remove content node if it is blank and there are child tags
57:           if node_hash.length > 1 && node_hash[CONTENT_ROOT].blank?
58:             node_hash.delete(CONTENT_ROOT)
59:           end
60: 
61:           # Handle attributes
62:           attribute_nodes.each { |a| node_hash[a.node_name] = a.value }
63: 
64:           hash
65:         end