1
저는 정말 perl에 익숙하지 않고 XML :: Simple을 사용하여 XML로로드 할 때 문제가 있습니다. 그리고 태그 이름을 해시 이름으로 사용합니다. 나는 "xsd : schema"라는 이름으로 저장된 해쉬를 원하지만 분명히 $ xsd : schema가 작동하지 않습니다. 나는 나이 들었어 그것을 검색하고 그것을 어떻게 할 수 없는지 찾지 못했습니다.perl의 변수 이름에 a :를 사용합니다.
키 값을 알 수 있도록 해시를 어떻게 얻을 수 있습니까?
편집 :
미안하지만 나 자신을 잘 설명하지 못했습니다. 나는 해시 여러 수준의 깊은하지만 이름 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