jthomas has asked for the wisdom of the Perl Monks concerning the following question:
Hi all,
Would somebody please show some light on what's happening here.
I'm trying to parse a sample xml file like below
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <config> <type name="default"> <report>Dummy1</report> </type> <type name="scenario1"> <report>Dummy2</report> </type> </config>
When i run to parse with a sample script like below
use XML::Simple; use Data::Dumper; my $lXMLFile = "$ENV{'PWD'}/xmlsample.xml"; my $Config = XMLin($lXMLFile); print Dumper($Config);
I'm getting proper result
$VAR1 = { 'type' => { 'scenario1' => { 'report' => 'Dummy2' }, 'default' => { 'report' => 'Dummy1' } } };
BUT if my xml contains only one <type> tag
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <config> <type name="default"> <report>Dummy1</report> </type> </config>
"default" is not becoming a key like above instead it comes along with "report" key....See the wrong output below..
$VAR1 = { 'type' => { 'report' => 'Dummy1', 'name' => 'default' } };
I was just wondering why this is behaving differently when we have two tags of <type> and when we have only one tag of <type> Would somebody please help me on this. I would like to have an output like below even if we are having one row. Am i missing something :(
$VAR1 = { 'type' => { 'default' => { 'report' => 'Dummy1' } } };
Cheers and Thanks alot Jins Thomas
|
|---|