Bonjour
Je suis sûr que je ne suis pas le 1er à tomber sur ce cas, mais comme je ne suis pas un pro, je prefere demander directement à ceux qui savent...
Voici mon souci.
J'ai le code XML suivant:
Je veux récupérer toutes les valeurs "Name". Voici donc mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <Historic> <Done> <Build> <Machine> <Name>MTP-QA19</Name> </Machine> <Machine> <Name>MTP-QA20</Name> </Machine> </Build> </Done> </Historic>
Ce code fonctionne... mais seulement s'il y'a au moins 2 noeuds <Machine> dans mon xml.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 my $xml = new XML::Simple; my $data = $xml->XMLin("test.xml"); my $machine = $data->{Done}->{Build}->{Machine}; foreach my $m(@{$machine}) { print $m->{Name}."\n"; }
S'il n'y en a qu'un, j'ai l'erreur "logique" suivante:
Not an ARRAY reference at test.pl line 8.
(line 8 = foreach)
Quel code selon vous fonctionnerait dans tous les cas ?
Merci d'avance pour votre aide !
K.
Partager