PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Problème pour récuperer la valeur d'un noeud XML avec xmlLecteur
Problème pour récuperer la valeur d'un noeud XML avec xmlLecteur
Débuté par Fabien CRESSENT, 07 nov. 2018 14:01 - 3 réponses
Membre enregistré
8 messages
Posté le 07 novembre 2018 - 14:01
Bonjour,
Voici le code que j'utilise :

Lecteur2 est un xmlLecteur = XMLOuvreLecteur("ExampleModifie.xml")

POUR TOUT Lecteur2 EN PROFONDEUR

SI Lecteur2..Type = XMLLecteurBaliseDébut ET Lecteur2..Nom="article" ALORS
POUR TOUT y DE Lecteur2
SI y..Type = XMLLecteurBaliseDébut ET y..Nom="libelle" ALORS
Info(y.Valeur)
FIN
FIN
FIN
FIN

Le problème que je rencontre est au niveau de la valeur, je récupère toujours une chaine vide, je ne comprends pas pour quelle raison sachant que le noeud comporte bien une valeur, voici le contenu concerné de mon fichier xml :

<article action="0" tva="10.00" tri="0" plu="1601" net="9.90" hca="N" scanning="N" valeur_remise_ht="0.00" valeur_ht="9.00" annule="N" imprime="N" valeur="9.90" points="0" quantite="1.000" horodatage="2018-11-06T17:11:21.751+01:00" controle="N" prioritaire="N" ht="N" coupon="N" bloque_zero="N" unite="U" etats="7" taxes="0.90" tarif="0" base_ht="9.00" numero="2" code_tva="A" stock="N" net_ht="9.00" code="100160002" base="9.90" fidelite="O" negatif="N" bonus="0.00" valeur_remise="0.00" achat="0.0000" pesee="N">
<libelle>Salade Paysanne</libelle>
<groupe code="10">Salades</groupe>
<famille code="16">Divers Salades</famille>
<tags>
<tag>CUISINE</tag>
</tags>
</article>

Je précise que si je souhaite récupérer la profondeur ou le nom cela fonctionne sans soucis.
Est-ce que quelqu'un aurait une idée svp ?
Merci
Posté le 07 novembre 2018 - 17:47
POUR TOUT Lecteur2 EN PROFONDEUR
SI Lecteur2..Type = XMLLecteurBaliseDébut ET Lecteur2..Nom="article" ALORS
POUR TOUT y de Lecteur2
SI y..Type = XMLLecteurBaliseDébut ET y..Nom="libelle" ALORS
POUR TOUT z de y
SI z..Type=XMLLecteurTexte ALORS
Info(z.Valeur)
FIN
FIN
FIN
FIN
FIN
FIN
Membre enregistré
8 messages
Posté le 08 novembre 2018 - 09:42
Merci pour votre réponse, cependant je rencontre l' erreur suivante à l'exécution de ce code : Une erreur système inattendue est survenue. au niveau du POUR TOUT z de y.
Par ailleurs, j'ai essayé de tester XMLLecteurTexte avec le code suivant :
POUR TOUT Lecteur2 EN PROFONDEUR
SI Lecteur2..Type = XMLLecteurBaliseDébut ET Lecteur2..Nom="article" ALORS
POUR TOUT y de Lecteur2
SI y..Type = XMLLecteurTexte ALORS
Info(y.Valeur)
FIN
FIN
FIN

FIN
FIN

La valeur retournée est toujours une chaine vide...
Membre enregistré
8 messages
Posté le 13 novembre 2018 - 15:51
Il s'avère qu'après l'installation des dernières mises à jour, le problème est résolu.