physi has asked for the wisdom of the Perl Monks concerning the following question:
Hello,
I'm currently going mad with a german UMLAUT Problem and XML:Twig.
Here's the code:
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-- -----------------------------------
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: XML::Twig modify data, and I don't want that
by mirod (Canon) on Sep 16, 2013 at 13:09 UTC | |
by physi (Friar) on Sep 16, 2013 at 13:17 UTC | |
Re: XML::Twig modify data, and I don't want that (preserve entities keep_encoding)
by Anonymous Monk on Sep 16, 2013 at 11:05 UTC | |
by physi (Friar) on Sep 16, 2013 at 11:56 UTC | |
by roboticus (Chancellor) on Sep 16, 2013 at 12:07 UTC | |
by physi (Friar) on Sep 16, 2013 at 12:29 UTC |
Back to
Seekers of Perl Wisdom