PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → 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
Iniciado por Fabien CRESSENT, 07,nov. 2018 14:01 - 3 respuestas
Miembro registrado
8 mensajes
Publicado el 07,noviembre 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
Publicado el 07,noviembre 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
Miembro registrado
8 mensajes
Publicado el 08,noviembre 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...
Miembro registrado
8 mensajes
Publicado el 13,noviembre 2018 - 15:51
Il s'avère qu'après l'installation des dernières mises à jour, le problème est résolu.