I like to get this output:use strict; use warnings; use XML::Twig::XPath; $/ = undef; my $data = <DATA>; my $twig=XML::Twig::XPath->new(pretty_print => 'nice', keep_encoding=>1, twig_handlers => { 'add' => \&_check +Add, } ); $twig->parse($data); # build ito my $out = $twig->sprint; print $out; sub _checkAdd { my( $t, $addAttr)= @_; my $elt; $addAttr->set_tag('check'); $elt= parse XML::Twig::Elt( qq(<p>test</p>) ); $elt->paste('last_child',$addAttr); } __DATA__ <?xml version="1.0" encoding="ISO-8859-1"?> <doc><url><irl>with Ü here</irl></url><add></add></doc>
but I get:<?xml version="1.0" encoding="ISO-8859-1"?> <doc> <url> <irl>with Ü here</irl> </url> <check> <p>test</p> </check> </doc>
<?xml version="1.0" encoding="ISO-8859-1"?> <doc> <url> <irl>with &#xDC; here</irl> </url> <check> <p>test</p> </check> </doc>
When there is no <add> Tag in the xml (which is going to be modified in the subfunction), the output is ok. So there might be a problem only if twig goes into that subfunction!?
Any help is very welcome.
Thanks
Christian
----------------------------------- --the good, the bad and the physi-- -----------------------------------
In reply to XML::Twig modify data, and I don't want that by physi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |