我是 XML::Simple 的新手(而且对 xml 也不是很热衷)。我想用它来解析一个简单的 xml 结构,我得到一个 API 的结果。我对我得到的 xml 没有任何影响。
当返回的 xml 列表只包含一个成员时,我有一个完全不同的 perl 数据结构,就像列表有更多成员时一样。这很烦人。
即使结果仅包含一个成员,我也希望具有示例 2 中的数据结构。
我该怎么做才能获得相同的输出?
示例 1:
#!/usr/bin/perl -w
use strict;
use warnings;
use Data::Dumper;
use XML::Simple;
my $xml1 = new XML::Simple;
my $data1 = $xml1->XMLin( '
<aaa>
<bbb>
<id>1</id>
<text>Test 1</text>
</bbb>
</aaa>
' );
print Dumper($data1);
结果1:
$VAR1 = {
'bbb' => {
'text' => 'Test 1',
'id' => '1'
}
};
示例 2:
my $xml2 = new XML::Simple;
my $data2 = $xml2->XMLin( '
<aaa>
<bbb>
<id>1</id>
<text>Test 1</text>
</bbb>
<bbb>
<id>2</id>
<text>Test 2</text>
</bbb>
</aaa>
' );
print Dumper($data2);
结果 2:
$VAR1 = {
'bbb' => {
'1' => {
'text' => 'Test 1'
},
'2' => {
'text' => 'Test 2'
}
}
};
Tnx 为您提供帮助。
干杯,罗伯特