From: Robert Klemme Date: 2006-07-08T20:27:44+09:00 Subject: Re: libhxml Node#remove! kills each loop and extension to #<< PS: Here's another alternative that might work: use delete_if to iterate and delete those elements you want to get rid of. root.delete_if do |node| if XML::Node === node node.content = "yep" node['id'] == "b" else false end end Cheers robert