Method: ActiveSupport::XmlMini_JDOM#parse

Defined in:
activesupport/lib/active_support/xml_mini/jdom.rb

#parse(data) ⇒ Object

Parse an XML Document string or IO into a simple hash using Java’s jdom.

data

XML Document string or IO to parse


32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'activesupport/lib/active_support/xml_mini/jdom.rb', line 32

def parse(data)
  if data.respond_to?(:read)
    data = data.read
  end

  if data.blank?
    {}
  else
    @dbf = DocumentBuilderFactory.new_instance
    xml_string_reader = StringReader.new(data)
    xml_input_source = InputSource.new(xml_string_reader)
    doc = @dbf.new_document_builder.parse(xml_input_source)
    merge_element!({CONTENT_KEY => ''}, doc.document_element)
  end
end