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

问题描述 投票:0回答:1

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
成为密钥,并且我可以访问相应的
b
d
KeyAttr
有什么作用?

xml perl xml-parsing
1个回答
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";

输出:

text3
text8
text4
text9

您可以从

perldoc XML::Simple
阅读有关 KeyAttr

的内容
© www.soinside.com 2019 - 2024. All rights reserved.