#!/usr/bin/perl
use strict;
use warnings FATAL => 'uninitialized';
use XML::Simple qw(:strict);
use Data::Dumper;
$| = 1;
my %ref;
# create 1st node
push(@{$ref{'node'}},{
'id' => 'net_1.2.3.0',
'desc' => 'network',
});
# create 2nd node
push(@{$ref{'node'}},{
'id' => 'ip_1.2.3.4',
'desc' => 'ipaddr',
});
my $xmlParser = XML::Simple->new();
my $fh;open $fh,'>','/tmp/testfile.xml' or die "$!";
$xmlParser->XMLout(\%ref,(
'XMLDecl' => '',
'NoAttr' => 0,
'KeepRoot' => 0,
'RootName' => 'test',
'OutputFile' => $fh,
'AttrIndent' => 1,
'KeyAttr' => { 'node' => 'id' },
));
print Dumper \%ref;
####
$VAR1 = {
'node' => [
{
'desc' => 'network',
'id' => 'net_1.2.3.0'
},
{
'desc' => 'ipaddr',
'id' => 'ip_1.2.3.4'
}
]
};
####
####
network
ipaddr
####
# create 1st node
push(@{$ref{'node'}},{
'id' => 'net_1.2.3.0',
'desc' => ['network'],
'data' => ['testdata'],
});
# create 2nd node
push(@{$ref{'node'}},{
'id' => 'ip_1.2.3.4',
'desc' => ['ipaddr'],
'data' => ['testdata2'],
});