class Nokogiri::XML::BeforeHandler
:nodoc:
def characters string
def characters string node = @stack.last node.content += string end
def end_element name
def end_element name return unless @original_html =~ /<#{name}/i @node.add_previous_sibling @stack.last if @stack.length == 1 @stack.pop end
def initialize node, original_html
def initialize node, original_html @original_html = original_html @node = node @stack = [] end
def start_element name, attrs = []
def start_element name, attrs = [] return unless @original_html =~ /<#{name}/i node = Node.new(name) Hash[*attrs].each do |k,v| node[k] = v end node.parent = @stack.last if @stack.length != 0 @stack << node end