使用XML::SImple来读写XML
info.xml
<?xml version="1.0" encoding="UTF-8"?>
<dbs>
<db>
<sid>test</sid>
<user>XIAOMING</user>
<passwd>xxxxxx</passwd>
</db>
<db>
<sid>tetrtre</sid>
<user>DONGHUA</user>
<passwd>yyyyy</passwd>
</db>
</dbs>
源码:
use strict;
use warnings;
use XML::Simple;
use Data::Dumper;
use 5.010;
my $xmlfile = "info.xml";
my $xml = XML::Simple->new(KeyAttr=>"", ForceArray => 1);
my $tree = $xml->XMLin($xmlfile);
say Dumper($tree);
my @datas = @{$tree->{"db"}};
my $len = @datas;
say "data length = $len";
foreach(@datas){
if(ref($_) eq 'HASH'){
my %itmes = %{$_};
say $itmes{'passwd'};
}else{
say $_;
}
}
输出:-----------------