in reply to XML::Twig removing tags from content
Here is one way to do this with XML::LibXML.
#!/usr/bin/perl use warnings; use strict; use XML::LibXML; my $xmlfile = 'test.xml'; my $parser = XML::LibXML->new(); my $doc = $parser->parse_file($xmlfile); my ($li_node) = $doc->findnodes("//li"); my ($p_element) = $doc->findnodes("//li/p"); foreach ($p_element->childNodes) { $li_node->appendChild( $_ ); } $li_node->removeChild( $p_element ); print $doc->toString;
Contents of test.xml:
<?xml version="1.0" encoding="utf-8"?> <li> <p> Some <b>text<c1> here</c1></b> </p> </li>
Result:
<?xml version="1.0" encoding="utf-8"?> <li> Some <b>text<c1> here</c1></b> </li>
|
|---|