Method: REXML::Parsers::UltraLightParser#parse

Defined in:
lib/rexml/parsers/ultralightparser.rb

#parseObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rexml/parsers/ultralightparser.rb', line 21

def parse
  root = context = []
  while true
    event = @parser.pull
    case event[0]
    when :end_document
      break
    when :end_doctype
      context = context[1]
    when :start_element, :start_doctype
      context << event
      event[1,0] = [context]
      context = event
    when :end_element
      context = context[1]
    else
      context << event
    end
  end
  root
end