3
したがって、Amazon Web Servicesから返された結果を解析するperlを書きました。私はXML::Simple
パッケージを使用しています。ほとんどの場合、要素を取り除くとすべてが機能しました。しかし、私が遭遇した問題は、要素にも属性があったときでした。次に、アイテムがハッシュであるというエラーが表示されます。PerlでXML要素と属性を解析する
DVDのランニングタイムを取得したい場合は、次のようにします。このワンオフアイテムの特定の情報を保持するアイテムを作成しました。
// XML
<ProductGroup>DVD</ProductGroup>
<RunningTime Units="minutes">90</RunningTime>
// Perl to parse XML
my $item = $xml->XMLin($content, KeyAttr => { Item => 'ASIN'}, ForceArray => ['ASIN']);
$ProductGroup = $item->{Items}->{Item}->{ItemAttributes}->{ProductGroup};
if(ref($item->{Items}->{Item}->{ItemAttributes}->{RunningTime}) eq 'HASH'){
$RunningTimeXML = $xml->XMLin($content, KeyAttr => { Item => 'ASIN'}, NoAttr => 1);
$RunningTime = $RunningTimeXML->{Items}->{Item}->{ItemAttributes}->{RunningTime};
}
1つのアイテムから要素と属性の両方にアクセスできる方法はありますか?