如何在Perl中使用XML :: Simple解析配置文件?

时间:2012-01-28 14:10:36

标签: xml perl xml-parsing

我有一个perl片段:

my $xml = new XML::Simple(
    KeyAttr=>{
        property => 'propertyname',          
    },
    ForceArray => 1,
    ContentKey => '-content');

my $config = $xml->XMLin($configFile);

Configfile看起来像:

<config>
<property propertyname="text1" b="text2" c="text3" d="text4">
 text5
</property>
<property propertyname="text6" b="text7" c="text8" d="text9">
 text10
</property>
</config>

我是perl和XML :: Simple的新手。如何解析此配置文件,以便c成为密钥,我可以访问相应的b,d。 KeyAttr告诉我们什么?

1 个答案:

答案 0 :(得分:3)

XML :: Simple返回一个Perl数据结构(参见perldoc perldsc),您可以使用Data::Dumper进行可视化。 以下是访问所需数据的一种方法:

use warnings;
use strict;
use XML::Simple;

my $xfile = '
<config>
<property propertyname="text1" b="text2" c="text3" d="text4">
 text5
</property>
<property propertyname="text6" b="text7" c="text8" d="text9">
 text10
</property>
</config>
';

my $xml = new XML::Simple(
    KeyAttr=>{
        property => 'propertyname',          
    },
    ForceArray => 1,
    ContentKey => '-content');

my $config = $xml->XMLin($xfile);

print "$config->{property}{text1}{c}\n";
print "$config->{property}{text6}{c}\n";
print "$config->{property}{text1}{d}\n";
print "$config->{property}{text6}{d}\n";

__END__

text3
text8
text4
text9

您可以从perldoc XML::Simple

了解KeyAttr