METTRE À JOUR UN FICHIER XML (AJOUTER UN ENREGISTREMENT) AVEC LA FONCTION APPEND
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 2013
-
30 oct. 2010 à 11:54
allan71 -
8 juin 2016 à 15:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
bonjour j'ai essayer de réaliser ce projet cela m'aurai bien servi mais , j'ai beau a chercher cela ne fonctionne pas ni en As2 ni en As3 , y a t'il une erreur?
trek9505
Messages postés75Date d'inscriptiondimanche 22 mai 2011StatutMembreDernière intervention26 mai 2011 24 janv. 2011 à 12:05
Merci pour ta réponse, mais dit comme ça, j'ai pas tout compris, c'est dans ces moments la qu'on se sent newbie. Plus d'info ? :)
fshwork
Messages postés4Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention24 janvier 2011 24 janv. 2011 à 10:27
salut,
Tu peux partir du même principe en "parsant" ton xml jusqu'au node à modifier, affecter la valeur à ton xml, et mettre à jour ton fichier xml.
trek9505
Messages postés75Date d'inscriptiondimanche 22 mai 2011StatutMembreDernière intervention26 mai 2011 22 janv. 2011 à 20:36
Salut,
Merci pour le code, j'ai juste une question je voudrais savoir comment faire pour supprimer et remplacer le texte du xml plutot que de le rajouter à la suite du texte existant ?
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 1 nov. 2010 à 08:36
pour les données utilisateurs en local, il y a justement les SharedObjects prévus pour ça.
Peg'
Twinspirit
Messages postés58Date d'inscriptionmercredi 21 mai 2008StatutMembreDernière intervention 7 mai 2012 1 nov. 2010 à 08:03
C'est extrêmement utile pour la mise a jour de préférences utilisateur, qui seraient stockées sur le poste du client.
Bien sur, on n'y stocke pas de données sensibles, mais ça n'enlève rien à l'utilité de ta source.
Merci.
PS : Pour la communication avec PHP en AS3, je te conseille de regarder du côté de AMFPHP.
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 30 oct. 2010 à 21:38
le soucis du XML est que n'importe qui y a accès, aucune sécurité du moment que tu connais l'url ..
Peg'
fshwork
Messages postés4Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention24 janvier 2011 30 oct. 2010 à 20:59
et j'avoue que j'ai eu un peu de mal avec le xml
fshwork
Messages postés4Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention24 janvier 2011 30 oct. 2010 à 20:57
A dire vrai, je me suis pas vraiment posé la question, comme c'était un fichier de stockage de messages, j'ai pas pensé à la mise à dispo du fichier partant du principe que de toute façon les messages seraient visibles dans l'anim source.
dans l'animation source de cet extrait de code, j'avais juste besoin de lire un xml pour afficher les messages et donner la possibilité de laisser un message, et de mettre à jour l'affichage des messages. et comme je charge le xml pour les afficher, j'en profite pour le modifier au moment de l'envoi.
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 30 oct. 2010 à 18:50
Le soucis de ton code est que tu dois charger le XML avant de le mettre à jour pour ensuite le compléter et renvoyer le tout ..
Pourquoi ne pas faire une méthode en XML de mise à jour de fichier plutôt que de devoir tout retransférer à chaque fois ?
Hormis le fait d'éviter des tonnes de transfert, ça éviterais aussi de mettre à dispos le mot de passe et le pseudo de n'importe de qui les veut via un simple navigateur.
Peg'
fshwork
Messages postés4Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention24 janvier 2011 30 oct. 2010 à 16:17
salut peg'
C'est vrai que vu que je suis pas un expert as, j'ai fait avec l'as2 car je connaissais mieux la syntaxe ;)
J'ai essayé de regarder en AS3, mais j'ai un peu de mal avec les méthodes "listener", etc.... mais en AS3, ça me donnerait un truc dans le genre:
var xmlLoader:URLLoader = new URLLoader();
var xml_projet:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("XML.xml"));
function LoadXML(e:Event):void {
xml_projet = new XML(e.target.data);
}
//fonction exécutée en cliquant sur le bouton envoyer
function onClic(pEvt:Event):void {
var pseudosaisi:String = pseudo.text;
var messagesaisi:String = messager.text
var nodetext=XML(""+pseudosaisi+"
<message>"+messagesaisi+"</message>
");
xml_projet.appendChild(nodetext);
var loader:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("xml.php");
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
req.method = URLRequestMethod.POST;
req.data = xml_projet;
loader.load(req);
play();
}
//ecoute du clic sur bouton:
envoyer.addEventListener(MouseEvent.CLICK, onClic);
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 30 oct. 2010 à 11:54
8 juin 2016 à 15:49
24 janv. 2011 à 12:05
24 janv. 2011 à 10:27
Tu peux partir du même principe en "parsant" ton xml jusqu'au node à modifier, affecter la valeur à ton xml, et mettre à jour ton fichier xml.
22 janv. 2011 à 20:36
Merci pour le code, j'ai juste une question je voudrais savoir comment faire pour supprimer et remplacer le texte du xml plutot que de le rajouter à la suite du texte existant ?
1 nov. 2010 à 08:36
Peg'
1 nov. 2010 à 08:03
Bien sur, on n'y stocke pas de données sensibles, mais ça n'enlève rien à l'utilité de ta source.
Merci.
PS : Pour la communication avec PHP en AS3, je te conseille de regarder du côté de AMFPHP.
30 oct. 2010 à 21:38
Peg'
30 oct. 2010 à 20:59
30 oct. 2010 à 20:57
dans l'animation source de cet extrait de code, j'avais juste besoin de lire un xml pour afficher les messages et donner la possibilité de laisser un message, et de mettre à jour l'affichage des messages. et comme je charge le xml pour les afficher, j'en profite pour le modifier au moment de l'envoi.
30 oct. 2010 à 18:50
Pourquoi ne pas faire une méthode en XML de mise à jour de fichier plutôt que de devoir tout retransférer à chaque fois ?
Hormis le fait d'éviter des tonnes de transfert, ça éviterais aussi de mettre à dispos le mot de passe et le pseudo de n'importe de qui les veut via un simple navigateur.
Peg'
30 oct. 2010 à 16:17
C'est vrai que vu que je suis pas un expert as, j'ai fait avec l'as2 car je connaissais mieux la syntaxe ;)
J'ai essayé de regarder en AS3, mais j'ai un peu de mal avec les méthodes "listener", etc.... mais en AS3, ça me donnerait un truc dans le genre:
var xmlLoader:URLLoader = new URLLoader();
var xml_projet:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("XML.xml"));
function LoadXML(e:Event):void {
xml_projet = new XML(e.target.data);
}
//fonction exécutée en cliquant sur le bouton envoyer
function onClic(pEvt:Event):void {
var pseudosaisi:String = pseudo.text;
var messagesaisi:String = messager.text
var nodetext=XML(""+pseudosaisi+"
<message>"+messagesaisi+"</message>
");
xml_projet.appendChild(nodetext);
var loader:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("xml.php");
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
req.method = URLRequestMethod.POST;
req.data = xml_projet;
loader.load(req);
play();
}
//ecoute du clic sur bouton:
envoyer.addEventListener(MouseEvent.CLICK, onClic);
30 oct. 2010 à 11:54
Peg'