私はXML::Simpleを初めて使用します(また、xmlにはあまり熱心ではありません)。APIの結果として取得する単純なxml構造を解析するために使用したいと思います。取得するxmlには何の影響もありません。
返されたxmlリストにメンバーが1つしかない場合、リストにさらにメンバーがある場合とはまったく異なるperlデータ構造になります。これは非常に迷惑です。
結果にメンバーが1つしかない場合でも、例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。
乾杯、ロバート