Bonjour,
J'aurais une question concernant le lecture d'un champ XML:
J'ai un xml de la forme
----------------------------------------------------------------------
---------------------------------------------------------------------------
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
-----------------------------------------------------
Mais je voudrais savoir s'il est possible de récupérer la valeur du tag <Type> sans passer par une boucle foreach
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"; } }
J'ai essayer plusieurs syntaxe du style $Code->$mavaleur->{Type} mais sans succés.
Merci,
Partager