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