class Nokogiri::XML::Node
def replace node_or_tags
Returns the reparented node (if +node_or_tags+ is a Node), or NodeSet (if +node_or_tags+ is a DocumentFragment, NodeSet, or string).
+node_or_tags+ can be a Nokogiri::XML::Node, a ::DocumentFragment, a ::NodeSet, or a string containing markup.
Replace this Node with +node_or_tags+.
###
def replace node_or_tags node_or_tags = coerce(node_or_tags) if node_or_tags.is_a?(XML::NodeSet) if text? replacee = Nokogiri::XML::Node.new 'dummy', document add_previous_sibling_node replacee unlink else replacee = self end node_or_tags.each { |n| replacee.add_previous_sibling n } replacee.unlink else replace_node node_or_tags end node_or_tags end