begin process at 2012 02 07 05:56:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > SAUVEGARDER UN DOCUMENT XML DANS UN FICHIER

SAUVEGARDER UN DOCUMENT XML DANS UN FICHIER


 Information sur la source

Note :
9,33 / 10 - par 6 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :flash, xml, sauvegarder, php Niveau :Débutant Date de création :09/07/2003 Date de mise à jour :02/02/2008 12:49:44 Vu / téléchargé :14 746 / 2 226

Auteur : Dean

Ecrire un message privé
Commentaire sur cette source (23)
Ajouter un commentaire et/ou une note

 Description

Lors du développement d'applications web avec Flash, il est souvent nécessaire
de charger et de sauvegarder des variables dans un fichier, une base de données...
S'il est possible de lire des informations à partir d'une source externe directement avec ActionScript,
il en est autrement pour l'écriture. En effet, il vous faudra utiliser un script agissant côté
serveur qui s'occupe de la sous-traitance des opérations.

Dans cet exemple, nous allons voir comment sauvegarder un document XML généré avec Flash
en employant un script PHP pour la sous-traitance.
Ceci peut paraître facile au premier abord, encore faut-il avoir trouvé la solution...
Et croyez-moi, j'ai mis un certain temps avant d'obtenir quelque chose de convenable !

Ci-dessous le code ActionScript (téléchargez le ZIP pour avoir la totalité de l'exemple) :

Source

  • /* Sauvegarder un document XML dans un fichier
  • * =============================================================================
  • * Auteur: Dean
  • * =============================================================================
  • */
  • // Exemple de document XML
  • // -----------------------------------------------------------------------------
  • example = new XML();
  • example.xmlDecl = '<?xml version="1.0" encoding="UTF-8"?>';
  • example_root = example.createElement("exemple");
  • example_author = example.createElement("auteur");
  • example_author.appendChild(example.createTextNode("Dean"));
  • example_description = example.createElement("description");
  • example_description.appendChild(example.createTextNode("Ceci est un exemple !"));
  • example_root.appendChild(example_author);
  • example_root.appendChild(example_description);
  • example.appendChild(example_root);
  • // -----------------------------------------------------------------------------
  • status = "Document non sauvegardé.";
  • // Actions effectuées lors du clic sur le bouton
  • // -----------------------------------------------------------------------------
  • function onClick(component){
  • if(component._name == "SaveXML"){
  • /* Créé une instance de LoadVars, la méthode send de l'objet XML
  • étant trop limitée au niveau de la configuration */
  • data = new LoadVars();
  • // Ajoute notre document XML
  • data["xml"] = example.toString();
  • // Poste la variable avec sendAndLoad
  • response = new LoadVars();
  • response.onLoad = function(failure) { if(!failure) status = "Document sauvegardé avec succès !"; return failure; }
  • data.sendAndLoad("sauvegarder_xml.php", response, "POST");
  • }
  • }
  • // -----------------------------------------------------------------------------
/* Sauvegarder un document XML dans un fichier
 * =============================================================================
 * Auteur: Dean
 * =============================================================================
 */

// Exemple de document XML
// -----------------------------------------------------------------------------
example = new XML();

example.xmlDecl = '<?xml version="1.0" encoding="UTF-8"?>';

example_root = example.createElement("exemple");

example_author = example.createElement("auteur");
example_author.appendChild(example.createTextNode("Dean"));

example_description = example.createElement("description");
example_description.appendChild(example.createTextNode("Ceci est un exemple !"));

example_root.appendChild(example_author);
example_root.appendChild(example_description);

example.appendChild(example_root);
// -----------------------------------------------------------------------------

status = "Document non sauvegardé.";

// Actions effectuées lors du clic sur le bouton
// -----------------------------------------------------------------------------
function onClick(component){

  if(component._name == "SaveXML"){

    /* Créé une instance de LoadVars, la méthode send de l'objet XML
       étant trop limitée au niveau de la configuration */
    data = new LoadVars();

    // Ajoute notre document XML
    data["xml"] = example.toString();

    // Poste la variable avec sendAndLoad
    response = new LoadVars();
    response.onLoad = function(failure) { if(!failure) status = "Document sauvegardé avec succès !"; return failure; }
    data.sendAndLoad("sauvegarder_xml.php", response, "POST");

  }

}
// -----------------------------------------------------------------------------

 Conclusion

Comme vous pouvez le voir, je n'ai pas utilisé la méthode send de l'objet XML, car celle-ci
envoie les données sous la forme de "raw-data" (comprenez sans nom de variable) et ceci
pose problème avec PHP car un changement de la configuration (php.ini) est nécessaire.
On aurait pu passer par GET et encoder le document XML dans l'URL, mais ceci est peu recommandé
et limite le volume d'informations à envoyer. LoadVars constitue donc la meilleure alternative.

Si vous testez l'exemple (attention : un serveur web équipé de PHP est requis), vous pouvez
remarquer que l'opération de sauvegarde s'effectue de manière totalement transparente, sans
affichage d'une fenêtre de navigateur. C'est aussi un point fort de cette méthode.

Je pense que j'en ai assez dit, à vous d'étudier le script. Toutes les questions et commentaires
sont les bienvenus.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

02 février 2008 12:49:44 :
J'ai juste enlevé mon mail (spam)

 Sources du même auteur

Source avec Zip Source avec une capture SWF À FOND TRANSPARENT (HTML)
CHANGER L'ICÔNE D'UNE PROJECTION FLASH
[FLASH MX] CONVERTIR UN BITMAP EN VECTORIEL
Source avec Zip Source avec une capture [FLASH MX] AFFICHER DE LA 3D

 Sources de la même categorie

Source avec Zip LECTURE DE TEXTE "VOICE" par yasdar
Source avec Zip Source avec une capture AS3 - PRINCIPE ET APPLICATION DE FONCTION RÉCURSIVE par pegase31
Source avec Zip Source avec une capture UN PACKAGE "HISTORIC" POUR GÉRER VOS COMMANDES par top30
Source avec Zip Source avec une capture AS3 - SIMULATION DE GRILLE D'ÉDITION par pegase31
Source avec Zip CONSTANTE D'OBJET INMODIAFIABLE ET DÉBLOQUABLE par top30

 Sources en rapport avec celle ci

Source avec Zip METTRE À JOUR UN FICHIER XML (AJOUTER UN ENREGISTREMENT) AVE... par fshwork
Source avec Zip LOGIN ET PASSWORD EN FLASH + PHP SANS BDD par BBFUNK01
Source avec Zip Source avec une capture DIAPORAMA FLASH XML + FLASH par nixoulamasse
Source avec Zip Source avec une capture BANNIÈRE AVEC PORTRAITS DÉFILANTS AS3 par barbidouille2
Source avec Zip Source avec une capture ANTI-FLOOD FLASH MAIL FORM V1.0 par myfayce

Commentaires et avis

Commentaire de zappan le 09/07/2003 11:56:38

Très utile, merci beaucoup :)

Commentaire de tom le 09/07/2003 12:07:30 administrateur CS

Merci, Dean! ;)

Commentaire de top30 le 09/07/2003 16:46:05

Honnetement  j ai pas eu le temps de lire ta source télécharger y a 5 minutes...
je voulais juste savoir si tu pouvais avoir une function qui enregistre en XML un object Flash ayant des enfants (comme les childs XML)...

C est tout... Sinon c est vrai que c est pratique....

Commentaire de Dean le 09/07/2003 23:26:17

L'idéal serait de convertir ces objets en XML puis les enregistrer... Une sorte de sérialisation, quoi ! Je ne sais pas si ce genre de fonction est implémenté en natif dans Flash, sinon il faudra les développer...

Commentaire de flashman007 le 10/07/2003 09:31:09

erf super pratique ce ptit machin :)

Commentaire de TomQuick le 04/10/2003 18:08:38

Super,Meci !!!

Commentaire de farouest le 13/10/2003 11:43:48

C super mais comment enregistrer par exemple des variables d'un formulaire dans le fichier xml (exemple.xml) pour pouvoir les réutiliser aprés ?

Commentaire de Dean le 13/10/2003 21:49:20

Bonjour farouest,

Pour réutiliser le XML il te suffit de le charger puis de traiter les infos avec un parser (par exemple celui d'Action Script), en accédant aux divers éléments.
Je ne vois pas trop où est le problème, s'il s'agit de la démarche tu peux te référer à la documentation Flash, sinon peux-tu préciser ta question ?

Commentaire de farouest le 13/10/2003 22:22:02

Et bien en fait j'ai des données qui arrive dans une checkbox via mysql, le choix me donne un résultat dans des variables (10), ensuite je voudrais que l'utilisateur face un premier choix qui soit enregistré dans le xml puis en face un second ect.. le résultat final serais de renvoyer tous ces choix dans une seule page pour une impression..

Commentaire de Dean le 14/10/2003 18:41:00

Oui, en qq sorte tu veux assembler les XMLs entre eux. Pourquoi ne pas utiliser une base de données pour effectuer les enregistrements par exemple ? Ou sinon tu pourrais recharger le même XML à chaque fois puis rajouter les éléments, et le sauvegarder à nouveau directement avec Flash. Je pense que ça ne devrait pas poser trop de problème avec l'interface objet d'Action Script...

Commentaire de farouest le 14/10/2003 18:52:50

Merci Dean de tes conseils, je vais essayé, en passant par mysql et flash

:)

Commentaire de ddami1 le 26/11/2003 11:43:43

Salut,

Quelqu'un pourrait-il m'expliquer comment faire pour réccupérer la valeur d'un champ de saisie (par exemple de valeur champ1) de telle sorte qu'il soit enregistré dans le fichier XML à la place du texte "Dean" par exemple. Quel code faut-il mettre et à quel endroit?
Un exemple en créant une autre source serait la bienvenue :o) Sinon, je donne mon adresse au cas où vous voudriez me répondre par mail: ddami1@online.fr

Merci d'avance

Commentaire de ROgEr0891 le 11/01/2005 09:50:33

Merci pour cette source , elle est trop utile .... !!!!!

Commentaire de ROgEr0891 le 11/01/2005 09:57:12

Merci pour cette source , elle est trop utile .... !!!!!

Commentaire de enthoxx le 21/06/2005 11:51:24

Tres tres utile !!! Merci beaucoup !!!

Commentaire de enthoxx le 21/06/2005 11:51:56

Tres tres utile !!! Merci beaucoup !!!

Commentaire de roievil le 01/07/2005 22:42:17

Dean, You rock, ca marche pour moi même si j'ai des trucs bizarres, du genre avec la version mx, ou la version mx 2004 crack.. euh une certaine version il n'arrive pas a ouvrir tout bêtement le xml, tandis ce qu'avec une autre certaine version 'modifiée' différemment ça marche, je n'y comprends rien...

Et tous ces .flas ne sont pas compatibles entre eux alors que certains devraient l'être.

Commentaire de roievil le 01/07/2005 22:42:31

Dean, You rock, ca marche pour moi même si j'ai des trucs bizarres, du genre avec la version mx, ou la version mx 2004 crack.. euh une certaine version il n'arrive pas a ouvrir tout bêtement le xml, tandis ce qu'avec une autre certaine version 'modifiée' différemment ça marche, je n'y comprends rien...

Et tous ces .flas ne sont pas compatibles entre eux alors que certains devraient l'être.

Commentaire de Brendarth le 02/12/2005 12:41:31

Très bonne source ! 10/10

Commentaire de vladispala le 11/05/2006 17:01:03

bonjour j'ai besoins d'ecrir via flash dans mon fichier xml pour pouvoir mettre a jour des donne ou du texte dans  un site sans passer par le serveur ftp
en gros la personne qui va gerer le site ne connais rien et il luii faus un petit soft qui permet de reactualiser son site sans galerer ...
merci

Commentaire de BicTouBi le 12/07/2006 21:04:31

Bonjour,

Moi aussi je cherche une solution pour mettre a jour des données contenues dans un fichier xml. En gros j'ai un fichier xml qui contient des commentaires, des pointeurs d'images, des prix  et tous cela devrait être mis à jour via un back office flash. Merci de m'éclairer si vous avez déjà fait ce genre de programme. Liaison flash - php -xml

Merci

Commentaire de buzhug35 le 24/09/2006 11:29:31

Bonjour,
J'ai trouvé cela très intéressant mais cela ne fonctionne pas chez moi (dossier déposé dans Apache2 htdocs en local) : si j'ouvre le fichier .fla directement et demande de tester l'animation, aucun fichier n'est créé et pas de message d'erreur. Si je cherche à ouvrir le.html avec l'adresse du serveur Apache, on me rétorque que je n'ai pas le droit de le faire. Où est-ce que j'ai fauté ?
D'avance merci pour votre aide.

Commentaire de vegetalain le 30/05/2008 11:19:12

Salut, la source est top et marche très très bien chez moi. Par contre j'ai le meme souci que BicTouBi. Il faut que je puisse changer "un mot" dans le fichier xml (le plat du jour d'un resto.), genre comment remplacer "Ceci est un exemple !" par le contenu d'un champ texte dans l'interface flash.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

forum flash, xml et php [ par naanouff ] salut, voila jsui en train de programmer un forum sans base de données en xml et php, g trouver des exemple de codes pour la methode "sendAndLoad" je SVP aidez moi Pb avec Flash php XML [ par staika ] salut tout le monde, bon je m'explique:je suis en train de réaliser un site web flash dynamique qui fait la gestion de plusieurs rubriques et sous rub flash+xml+php+bd=je me casse la tete help [ par sniperbe ] salut a tous,comment faire pour obtenir ceci svp ???&lt;?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?&gt;&lt;paquay&gt;&lt;travail photo= FLASH variables de php [ par davidfr ] Bonjour &#224; tous, Je ne conna&#238;t pas grand chose &#224; flash (je n'ai des notions qu'en php) et j'ai besoin de r&#233;cup&#233;rer des variabl Aide sur Flash - PHP - MYSQL avec du xml??? [ par jcdc ] Bonsoir &#224; tous. Voil&#224;, cette appel est un cri du d&#233;sespoir.Je suis en train de cr&#233;er un site int&#233;gralement fait en flash. Pou Comment php recoit des données XML renvoyé par Flash. [ par jcdc ] Salut tout le monde.Voil&#224;, je renvoi des donn&#233;es de flash vers php en XML, mais je ne sais pas comment php les r&#233;cup&#232;re. Qui pourr XML, PHP et Flash... dure cohabitation... [ par Knolan ] Salut,Bon je vais me faire jeter des pierres car le sujet a d&#233;j&#224; &#233;t&#233; abord&#233; maintes et maintes fois mais bon... j'ai pas r&#2 Flash, XML, et PHP [ par funkycrash ] Bonjour, je n'ai jamais post&#233; auparavant bien que je suive avec interet l'&#233;volution de ce site qui m'as bien aid&#233;.Cependant j'ai un peu Probeme xml, flash, php, mysql [ par dams39 ] Bonjour &#224; tous, je m'explique: Je suis en train de r&#233;aliser un site web flash dynamique qui fait la gestion d'un panier bon pour cela j'util flash->php->xml->flash: envoie de variables à un php par mon_XML.load() [ par oin__oin ] coucou... je cherche a afficher les r&#233;sultats d'une requete MySQL sous forme de XML pour le transmettre a Flash....Cot&#233; php:&lt;?$host='';$u


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales