http://www.perlmonks.org?node_id=1201430

NeedForPerl has asked for the wisdom of the Perl Monks concerning the following question:

Hi, Monks I'm using XML::Smart and running into some problems if there a special characters in the XML document:

If i create an XML::Smart object that encapsulates an XML document which contains special characters like "ä" or "ü" the function data() uses Base64 encoding but i don't want that. So i decided to use the function with the argument "decode => 1".

After that change everthing works fine unless there are special XML characters like "<", ">" or "&" inside an XML element . I guess that the call of data(decode => 1) results in encoding "&amp;" to "&" for instance. Is it possible to avoid that behaviour?

I used the function set_binary('FALSE') but somehow it didn't work:

my $log = `svn log http://... --xml --revision 123`; my $test = XML::Smart->new($log); $test->{log}->{logentry}[0]->{msg}->set_binary('FALSE'); print $test->data();

I'm using version 1.78 of the module.

I have tried to contact the author via mail using the e-mail address which can be found on the FAQ of XML::Smart. The E-Mail address doesn't exist anymore.

Many thanks in advance.