rohitthumu has asked for the wisdom of the Perl Monks concerning the following question:
Hi, I want to use special characters inside xml tags. I want to read and write it in the same way.In this sample m appending " & sons " to the content Joe but, when doing the same I'm getting Joe&, sons instead of Joe & sons.
<?xml version="1.0" encoding="UTF-8"?> <customer> <address city="Meatball" state="MI" street="17 Beable Ave." zip="826 +49" /> <address city="gur" state="MI" street="22 Beable Ave." zip="82643t" +/> <age>42</age> <age>30</age> <email>joewrigley@jmac.org</email> <email>john@jmac.org</email> <first-name>Joe</first-name> <first-name>John</first-name> <surname>Wrigley</surname> <surname>Go</surname> </customer>
My perl script
use strict; use XML::Simple; use Data::Dumper; my $Xml = new XML::Simple (KeyAttr => []); my $Input_File = "cust.xml"; my $Input = $Xml->XMLin ($Input_File, ForceArray => []); my $Decl = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; foreach my $Name (@{$Input->{'first-name'}}) { if ($Name eq "Joe") { $Name = $Name."& Sons"; } } XMLout($Input, rootname => 'customer', XMLDECL => $Decl, OutputFile + => $Input_File);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Special characters used inside xml tags results in error
by kcott (Archbishop) on May 01, 2013 at 15:07 UTC |