Module: LibXML::Conversions::Node
    Do not use.  This module is for internal use only.
  
| Relationships & Source Files | |
| Defined in: | activesupport/lib/active_support/xml_mini/libxml.rb | 
Constant Summary
- 
    CONTENT_ROOT =
    
# File 'activesupport/lib/active_support/xml_mini/libxml.rb', line 37"__content__" 
Instance Method Summary
- 
    
      #to_hash(hash = {})  
    
    
Convert XML document to hash.
 
Instance Method Details
#to_hash(hash = {})
Convert XML document to hash.
- hash
 - 
Hash to merge the converted element into.
 
# File 'activesupport/lib/active_support/xml_mini/libxml.rb', line 43
def to_hash(hash = {}) node_hash = {} # Insert node hash into parent hash correctly. case hash[name] when Array then hash[name] << node_hash when Hash then hash[name] = [hash[name], node_hash] when nil then hash[name] = node_hash end # Handle child elements each_child do |c| if c.element? c.to_hash(node_hash) elsif c.text? || c.cdata? node_hash[CONTENT_ROOT] ||= +"" node_hash[CONTENT_ROOT] << c.content end end # Remove content node if it is blank if node_hash.length > 1 && node_hash[CONTENT_ROOT].blank? node_hash.delete(CONTENT_ROOT) end # Handle attributes each_attr { |a| node_hash[a.name] = a.value } hash end