私はperlを初めて使用し、XML :: Simpleを使用してXMLをロードし、タグ名をハッシュ名として使用するという問題があります。「xsd:schema」という名前で保存されているハッシュを取得したいのですが、明らかに$ xsd:schemaが機能しません。私はそれをグーグルで検索するのに何年も費やしました、そしてそれをする方法を見つけることができません。
キー値を見つけることができるように、そのハッシュを取得するにはどうすればよいですか?
編集:
申し訳ありませんが、私は自分自身をうまく説明できませんでした。数レベルの深さのハッシュでキーとそれらのキーの値を調べたいのですが、xsd:schemaという名前が構文エラーを引き起こしています:
foreach my $attributes (keys %{ $data{$xsd:schema}{$xsd:element}}){
print "$attributes : ${$data}{$xsd:schema}{$xsd:element}{$attributes}\n";
}
編集2:これが私がそれをした方法です。
$schemaData = $data->{'xsd:schema'}->{'xsd:element'}->{'xsd:complexType'}->{'xsd:sequence'}->{'xsd:element'}->{'xsd:complexType'}->{'xsd:sequence'}->{'xsd:element'};
print Dumper($schemaData);
foreach my $fieldName (keys %{ $schemaData}){
$fieldType = $schemaData->{$fieldName}->{'type'};
print "$fieldType\n";
}