Class: REXML::Parsers::UltraLightParser
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/rexml/parsers/ultralightparser.rb |
Class Method Summary
- .new(stream) ⇒ UltraLightParser constructor
Instance Method Summary
Constructor Details
.new(stream) ⇒ UltraLightParser
# File 'lib/rexml/parsers/ultralightparser.rb', line 8
def initialize stream @stream = stream @parser = REXML::Parsers::BaseParser.new( stream ) end
Instance Method Details
#add_listener(listener)
[ GitHub ]# File 'lib/rexml/parsers/ultralightparser.rb', line 13
def add_listener( listener ) @parser.add_listener( listener ) end
#parse
[ GitHub ]# File 'lib/rexml/parsers/ultralightparser.rb', line 22
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
#rewind
[ GitHub ]# File 'lib/rexml/parsers/ultralightparser.rb', line 17
def rewind @stream.rewind @parser.stream = @stream end