Problème de lecture fichier xml
Bonjour,
J'aurais une question concernant le lecture d'un champ XML:
J'ai un xml de la forme
----------------------------------------------------------------------
Code:
1 2 3 4 5 6 7 8 9 10 11
| <General>
<Code name="ZA1">
<Type>BINARY</Type>
</Code>
<Code name="Y61">
<Type>BINARY2</Type>
</Code>
<Code name="Z61">
<Type>BINARY3</Type>
</Code>
</General> |
---------------------------------------------------------------------------
Le scirpt Perl lit un fichier texte qui conrtient le "Code name", (ZA1,Y61,Z61,...) et je doit récupérer le "Type" dans le xml.
J'utilise avec XML::Simple
Pas de problème pour le récupéerer en faisant :
-----------------------------------------------------
Code:
1 2 3 4 5 6 7 8 9 10
| my $parser = XML::Simple->new();
$monxml=toto.xml;
my $xml=$parser->XMLin($monxml, keyattr=>['General']);
my $xmlgeneral=$xml->{General};
my $Code=$xmlgeneral->{Code};
foreach my $fab (@{$Code}) {
if ($fab->{name} eq "$mavaleur") { # $mavaleur sera soit ZA1,Y61,Z61,...
print "Product type found ".$fab->{Type}."\n";
}
} |
Mais je voudrais savoir s'il est possible de récupérer la valeur du tag <Type> sans passer par une boucle foreach
J'ai essayer plusieurs syntaxe du style $Code->$mavaleur->{Type} mais sans succés.
Merci,