Bonjour,
Je suis actuellement en train de parser un fichier XML me remontant des informations sur des pc.
Jusque là pas de problème grâce à Djibril et le forum mais là je bloque sur deux détails.
Voici mon premier problème "Not an ARRAY reference" :
Dans ce fichier XML, je récupère (par exemple) la liste des disques physiquement présent.
Mon problème est que je peux avoir une ou plusieurs entrées dans cette section et lorsqu'il s'agit de plusieurs disques, pas de problème grâce à ce morceau de code :
mais lorsqu'il n'y en a qu'un, j'ai le message "Not an ARRAY reference".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 my $ref_Disques = $data->{Machine}->{DisquesPartitions}->{Disques}; print Dumper $ref_Disques; foreach my $Disque ( @{$ref_Disques->{Disque} } ) { print {$FhResultat} "Nom : ".$Disque->{Nom}."\n"; }
Je comprends pourquoi je l'ai mais je ne sais pas comment le contourner.
Mon deuxième problème est sur un champ vide qui retourne HASH(0x2a58348) :
Dans mon fichier XML, j'ai des champs qui peuvent ne pas être renseignés comme celui-ci :
Le problème est que lorsque je lis le fichier et que j'affiche le résultat dans mon fichier de sortie, j'ai "HASH(0x2a58348)" au lieu de rien.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part <card_Speed></card_Speed>
Lorsque je fais un Dumper, voici ce que je vois : 'card_Speed' => {},
Pourriez-vous m'aider pour ces deux petits problèmes qui j'en suis sûr, sont super simple à résoudre ?
Merci par avance pour votre aide.
Mathieu.
Partager