1
我真的很陌生,並且遇到了使用XML :: Simple加載XML的問題,並且我將標籤名稱作爲散列名稱。我想獲得名稱爲「xsd:schema」的哈希值,但顯然$ xsd:schema不起作用。我花了很多時間使用Google搜索,無法找到如何去做。在perl中使用變量名稱
我該如何獲得該散列,以便我可以找出關鍵值?
編輯:
對不起,我沒有解釋得很好。我想找出一個哈希幾個層次深,但名稱XSD鍵和這些鍵的值:模式導致語法錯誤:
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";
}
謝謝!編輯來解釋我的問題好一點。 – Shane
刪除美元符號,它用於標量變量。添加包含非字母數字字符的*散列鍵*引號。看到我的回答爲例。 – choroba
謝謝,這解決了我的問題。我做錯了。 – Shane