I have this xml file test1.xml
:
<body>
<message>
<name>gandalf</name>
<attributes>
<value key="1">1</value>
<value key="2">2</value>
<value key="3">3</value>
<value key="4">4</value>
</attributes>
</message>
</body>
I want to override the value that its key is "4"
to "10"
so my xml will look like this:
<body>
<message>
<name>gandalf</name>
<attributes>
<value key="1">1</value>
<value key="2">2</value>
<value key="3">3</value>
<value key="4">10</value>
</attributes>
</message>
</body>
this is my code:
#!/usr/bin/perl
use XML::Simple;
my $xml = new XML::Simple;
my $data = XMLin("test1.xml", ForceArray => 1);
$data->{message}->[0]->{attributes}->[0]->{value}->{4}->{content} = "10";
$newData = $xml->XMLout($data);
open(XML,">test2.xml");
print XML $newData;
close(XML);
when i run this code, the output xml looks like this:
<opt>
<message>
<name>gandalf</name>
<attributes name="value">
<1>1<1>
<2>2<2>
<3>3<3>
<4>10<4>
</attributes>
</message>
</opt>