PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Lecture directe d'attributs dans une variable de type documentXML
Lecture directe d'attributs dans une variable de type documentXML
Débuté par fbe66, 29 juil. 2013 18:19 - 1 réponse
Membre enregistré
73 messages
Popularité : +2 (2 votes)
Posté le 29 juillet 2013 - 18:19
bonjour à tous,

Tout comme il est possible de lire la valeur d'un Noeud avec une syntaxe directe, je souhaiterai lire directement la valeur d'un attribut d'un fichier XML enregistré en xmlDocument

Est ce possible avec une syntaxe similaire à celle-ci :
VarLat = gxml_XML.noeud1.noeud2.noeud3.noeud4.noeud5[ParamNum].noeud6.noeud7:attribut1["ValeurAttribut"].noeud8.noeud9:atttribut2


ParamNum est récupéré par paramètre de fonction
Sachant que je connais la valeur de "Attribut1" et que je souhaite récupérer celle de Attribut2

NB : La valeur de attribut1 est importante car l'affectation de attribut2 dépend de celle-ci

Merci de votre aide

A+
Message modifié, 29 juillet 2013 - 18:33
Membre enregistré
73 messages
Popularité : +2 (2 votes)
Posté le 30 juillet 2013 - 19:27
J'ai trouvé une parade après une bonne nuit de réflexion et de tests, je la met dispo pour ceux qui peuvent être intéressé :

//POUR CHAQUE Noeud7

VarNbreNoeud = gxml_XML.n1.n2.n3.n4.noeud5[ParamNum].noeud6.noeud7..Occurrence
POUR p=1 A VarNbreNoeud

//POUR CHAQUE ATTRIBUT DU Noeud7
POUR att=1 _A_ gxml_XML.n1.n2.n3.n4.noeud5[ParamNum].noeud6.noeud7[p]..Attribut..Occurrence

//ON VERIFIE SI ON EST SUR L'ATTRIBUT QUE L'ON VEUT (dan notre cas attribut = "type")
SI gxml_XML.n1.n2.n3.n4.noeud5[ParamNum].noeud6.noeud7[p]..Attribut[att]..Nom = "type" ALORS

//Alors on récupère la valeur du type concerné (ex : "XXXXXXX" ou "YYYYYYY")
VarValAttributType = gxml_XML.n1.n2.n3.n4.noeud5[ParamNum].noeud6.noeud7[p]..Attribut[att]..Valeur

//et on affecte attribut2 dans une variable selon la valeur de l'attribut 1 (par Exemple)
SELON VarValAttributType
CAS "XXXXXXX" :
ValeurA = gxml_XML.n1.n2.n3.n4.noeud5[ParamNum].noeud6.noeud7[p].noeud8.noeud9:attribut2

CAS "YYYYYYY" :
ValeurA = gxml_XML.n1.n2.n3.n4..noeud5[ParamNum].noeud6.noeud7[p].noeud8.noeud9:attribut2

CAS "ZZZZZZ" :
ValeurA = gxml_XML.n1.n2.n3.n4..noeud5[ParamNum].noeud6.noeud7[p].noeud8.noeud9:attribut2

FIN // FIN SELON

FIN // FIN SI
FIN // FIN POUR
FIN // FIN POuR p


Voila peut-être que ca peut aider certains d'entre vous... il doit y avoir plus light... mais bon...
Message modifié, 30 juillet 2013 - 19:34