Problème de positionnement XML
Stagiaire WDF
Inscrit:
18/08/2009 10:08
Post(s): 2
Bonjour,

J’ai pour mission de crée une fenêtre de saisie qui permet de modifier un document XML et je rencontre quelque soucis avec les fonctions XMLSauvePosition et XMLRetourPosition. Je m’explique, l’objectif serait de charger les différentes données du document XML dans les champs de saisie correspondants, de les modifier et de les réinscrire dans le document XML. Pour ce faire, je parcours mon document XML et lors de l’instanciation de mon champ de saisie je sauvegarde la position en cours grâce à la fonction XMLSauvePosition. Maintenant il me faut faire l’inverse, a savoir me replacer avec XMLRetourPosition et inscrire la nouvelle valeur et c’est la que j’ai quelque soucie.

Pour exploiter au mieux mon XML j’ai crée quelque procédure dont deux qui me permette d’exploiter le XMLSauvePosition et le XMLRetourPosition. La première pl_SauvePositionXML me permet de sauvegarder la position dans une zone mémoire, je nomme cette position dans le but de pouvoir la recharger par la suite. La seconde pl_ChargePositionXML qui me permet de charge la position donnant comme paramètre le nom utilisé pour la sauvegarder dans pl_ SauvePositionXML.

PROCEDURE pl_SauvePositionXML(lch_NomPosition est une chaîne)

	SI PAS MemExiste("ListePositionXML") ALORS

		MemCrée("ListePositionXML")

	FIN

	le_ValeurRetour est un entier = XMLSauvePosition("DocumentXML")
	
	SI MemAjoute("ListePositionXML", lch_NomPosition, le_ValeurRetour) ALORS

		RENVOYER Vrai

	SINON

		RENVOYER Faux

	FIN


PROCEDURE pl_ChargePositionXML(lch_NomPosition est une chaîne)

	SI MemExiste("ListePositionXML") ALORS
		
		le_PositionXML est un entier
		
		le_PositionXML = MemRecherche("ListePositionXML", lch_NomPosition, Vrai)
		
		SI le_PositionXML <> "" ALORS
			
			SI XMLRetourPosition("DocumentXML", le_PositionXML) ALORS

				RENVOYER Vrai

			SINON

				RENVOYER Faux

			FIN
			
		SINON

			RENVOYER Faux	

		FIN

	FIN


La procédure pl_SauvePositionXML fonctionne (me semble t’il) c’est avec la procédure pl_ChargePositionXML que j’ai quelque soucie. En effet lors que je veux recharger ma position, cela fonctionne la première fois, mais la deuxième il me place n’importe ou et la troisième il me génère une erreur m’affirmant que la position n’existe pas. Hors la position n’a pas changé lors des trois appels de la procédure, elle devrait donc avoir un comportement identique ce qui visiblement n’est pas le cas.

J’aimerai donc savoir ou se trouve mon erreur et pourquoi ces procédures ne fonctionnent pas ?

NB : J’ai déjà essayé le XMLAnnuleRecherche avant le XMLRetourPosition ainsi que le XMLRacine, tout comme les options XMLRPConserve, XMLRPDéfaut, XMLRPFiltre, cela ne change absolument rien, le comportement est identique.

Contribution le : 18/08/2009 10:10
Créer un fichier PDF de la contribution Imprimer


Re: Problème de positionnement XML
Stagiaire WDF
Inscrit:
18/08/2009 10:08
Post(s): 2
J'ai résolu mon problème, non sans aide, il se trouve qu'il faut ajoute un NumériqueVersChaîne() pour l'insertion dans la mémoire, sinon il ajoute 0 --'

MemAjoute("ListePositionXML", lch_NomPosition, NumériqueVersChaîne(le_ValeurRetour))

Contribution le : 18/08/2009 13:33
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2