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::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
的内容