perl 如何使用XML::Simple解析配置文件?

ca1c2owp  于 2023-05-29  发布在  Perl
关注(0)|答案(1)|浏览(541)

Perl代码段:

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

my $config = $xml->XMLin($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>

我如何解析这个配置文件,使c成为一个键,我可以访问相应的bdKeyAttr是什么?

0pizxfdo

0pizxfdo1#

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的信息

相关问题