How to delete a node with Hpricot?

Hi,

Sorry if this is not the right forum for this question.

If a node is bad I'm trying to comment it out. If it's really bad
I'm trynig to delete it.

The way I'm trying to do is is as follows.

def this_is_a_problem
  doc = Hpricot( html )
  doc.traverse_element do |node|
  if some_bad_node_test
    unless really_bad?
     node.swap( "<!-- comment out node #{node.to_html} -->" )
    else
       node.swap( "" )
    end
  end
  doc.to_html
end

However I'm getting a nasty error.

TypeError: no implicit conversion from nil to integer
    /usr/local/lib/ruby/gems/1.8/gems/hpricot-0.5/lib/hpricot/traverse.rb:395:in
`[]='

Am I doing this the wrong way?

Thanx

Daniel