use XML::LibXML 1.93; use XML::LibXML::PrettyPrint qw/print_xml/; my $doc = XML::LibXML->load_xml(IO => \*DATA); $doc -> findnodes('//policyrules') -> foreach(sub { my $elem = shift; $elem->parentNode->appendChild($_) foreach $elem->childNodes; $elem->parentNode->removeChild($elem); }); print_xml($doc); __DATA__