begin process at 2012 05 27 04:35:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Base de données

 > 

XML

 > 

impossible d'afficher des données XML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

impossible d'afficher des données XML

mardi 14 avril 2009 à 17:33:46 | impossible d'afficher des données XML

Otakumaster

Bonjour,
cela fait 3 jours que j'essaye d'afficher les données d'un xml dans Flash en AS3,
voici le XML en question:



<?xml version="1.0" encoding="iso-8859-1" ?>
<racine>
<client nom="3M" logo="images//logo_3m.jpg" />
<client nom="Accor" logo="images//logo_accor.jpg" />
<client nom="AGF" logo="images//logo_agf.jpg" />
<client nom="Air Liquide" logo="images//logo_air_liquide.jpg" />
</racine>



et mon actionscript que j'ai mis dans mon anim fla:





fscommand("fullscreen", "true");
stop();

// nous importons les classes necessaires :
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.ProgressEvent;

// nous déclarons un objet URLLoader :
var chargeur:URLLoader = new URLLoader ();

// nous crééons un objet URLRequest qui contient l'url du fichier :
var adresse:URLRequest = new URLRequest ("data.xml");

// nous définissons le format du fichier chargé :
var format = URLLoaderDataFormat.XML;
chargeur.dataFormat = format;

// nous lançons le chargement du fichier, en indiquant l'adresse de celui ci par l'objet URLRequest :
chargeur.load(adresse);

// définition des évenements de l'objet chargeur
chargeur.addEventListener(Event.COMPLETE, finDuChargement);
chargeur.addEventListener(ProgressEvent.PROGRESS, avancement);
chargeur.addEventListener(IOErrorEvent.IO_ERROR, indiquerErreur);

// définition de la fonction éxecutée par l'évenement COMPLETE :
// ( déclenchée lorsque le chargement se termine )
var clients:XML = new XML(event.target.data);
for each (var property:XML in clients.client){
var myText:TextField = new TextField();
myText.y = 110;
myText.x = 50;
myText.width = 200;
myText.height = 200;
myText.text = (property[0].@["nom"]);
addChild(myText);
}

// définition de la fonction éxecutée par l'évenement PROGRESS :
// déclenchée à chaque avancement du chargement )
function avancement( event:Event) {
trace(event.bytesLoaded+" chargés sur "+event.bytesTotal);
}

// fonction indiquant si une erreur de chargmement survient :
function indiquerErreur( event:Event ) {
trace(event);
}



Le but est d'afficher chaque nom d'entreprise dans un clip, ainsi que son logo.
J'ai ici tenté d'afficher juste les noms mais ça ne fonctionne pas et je pense avoir fait
tous les tutos trouvables avec Google, sans y arriver...
Je remercie d'avance les bonnes âmes qui pourront me donner un coup de main.
mardi 14 avril 2009 à 17:55:08 | Re : impossible d'afficher des données XML

pegase31

Membre Club Administrateur CodeS-SourceS
Bonjour,

"property[0].@["nom"]" n'est pas de l'e4x correcte.
Si tu cherches à ressortir l'attribut "nom", il faut écrire : property[0].@nom;

Ensuite, je te conseille de passer par un XMLList et de récupérer la longueur de celui-ci pour faire une boucle "for" dessus, au lieu d'un "for each" dont tu ne maîtrises pas le résultat.

Peg'
mercredi 15 avril 2009 à 22:13:06 | Re : impossible d'afficher des données XML

nickydaquick

Membre Club
Salut,

    tout est correct jusqu'ici sauf que je ne vois pas la fonction finDuChargement que j'ecrirais comme suit:


 function finDuChargement(event:Event):void
{
         var urlloader:URLLoader = event.target as URLLoader;
         urlloader.removeEventListener(Event.COMPLETE,finDuChargement);
         urlloader.removeEventListener(ProgressEvent.PROGRESS,finDuChargement);
         urlloader.removeEventListener(IOErrorEvent.IO_ERROR,finDuChargement);
         var reponse:String = urlloader.data as String;
  
         var xml:XMLDocument = new XMLDocument;
         xml.ignoreWhite = true;
         xml.parseXML(reponse);
        var node:XMLNode = xml.firstChild;
        if(node==null)return;
        while(node.nextSibling!=null)node = node.nextSibling;

      //a ce stade-ci en theorie tu as node.nodeName = racine
     node = node.firstChild;// premier noeud client
     var field:TextField = null, y:Number = 0.0;
    while(node!=null)
    {
             field = new TextField;
             field.autoSize = "left";
             field.text = String(node.attributes.nom);
             field.x = 50.0;
             field.y = y;
             y += field.height + 2.0;
             addChild(field);
             node = node.nextSibling;
     }
     field = null;
     node = null;
     xml = null;
}

Bonne continuation
[ Lien ]
je suis heureux de faire partie d'une grande famille ...!

jeudi 16 avril 2009 à 14:11:22 | Re : impossible d'afficher des données XML

Otakumaster

Je vous remercie pour votre aide, je suis finalement parvenu à un code fonctionnel, que voici si cela peut aider quelqu'un.
Pour résumer:
1 - je charge un PHP qui génère (ou met à jour) un XML à partir d'une base MySQL
2 - je lis les données du XML
3 - j'affiche les images grâce aux liens du XML


stop();

// nous importons les classes necessaires :
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.ProgressEvent;

// nous déclarons un objet URLLoader :
var PHPloader:URLLoader = new URLLoader ();
// nous créons un objet URLRequest qui contient l'url du fichier :
var PHPadresse:URLRequest = new URLRequest ("loader.php");
PHPadresse.method = URLRequestMethod.POST;
// nous définissons le format du fichier chargé :
var PHPformat = URLLoaderDataFormat.BINARY;
PHPloader.dataFormat = PHPformat;
// nous lançons le chargement du fichier, en indiquant l'adresse de celui ci par l'objet URLRequest :
PHPloader.load(PHPadresse);

// nous déclarons un objet URLLoader :
var chargeur:URLLoader = new URLLoader ();
// nous créons un objet URLRequest qui contient l'url du fichier :
var adresse:URLRequest = new URLRequest ("data.xml");
// nous définissons le format du fichier chargé :
var format = URLLoaderDataFormat.TEXT;
chargeur.dataFormat = format;
// nous lançons le chargement du fichier, en indiquant l'adresse de celui ci par l'objet URLRequest :
chargeur.load(adresse);

// définition des évenements de l'objet chargeur
chargeur.addEventListener(Event.COMPLETE, finDuChargement);
chargeur.addEventListener(IOErrorEvent.IO_ERROR, indiquerErreur);

// définition de la fonction exécutée par l'évenement COMPLETE :
// ( déclenchée lorsque le chargement se termine )
function finDuChargement ( event:Event ) {
    var contenu:XML = new XML(event.target.data);
    var mon_y = 115;
    var mon_x = 53;
    var decal = 0;
   
    var results:XMLList = contenu.client;
    var i = 0;
    var j = 0;
   
    for each (var item:XML in results) {
       
        trace("i: "+i);
        trace("j: "+j);

        var myLoader:Loader = new Loader();
        myLoader.load(new URLRequest(item.@logo));
        addChild(myLoader);
       
        trace(myLoader.width);
       
        myLoader.x = mon_x + (i *(94 + 26));
        myLoader.y = mon_y + (94 * j + 26 * j);
        i++;
        if (i == 10) j = (j+1) % 10;
        i %= 10;
    }
   
}

// fonction indiquant si une erreur de chargmement survient :
function indiquerErreur( event:Event ) {
    trace(event);
}


Cette discussion est classée dans : flash, var, xml, event, mytext


Répondre à ce message

Sujets en rapport avec ce message

envoie d'une requete mysql a php depuis flash... données numériques/données texte [ par oin__oin ] Coucou...J'ai un probleme en essayant d'envoyer une requete mysql à php avec flash...Coté Flash:   frame 1:     // la variable r est saisi dans un ActionScript3 [ par xess91 ] Bonjour,j'aimerai avoir un coup de main sur le AS3 je débute totalement la dedans je souhaite apprendre à utiliser les fonctions du clavier par Keyboa Diaporama Photo AS3 [ par RockPrinceS ] Salutations,Voilà je suis en train de faire un code pour faire un diaporama photo en AS3 le pb ça marche pas...Help me PleasePeaceNyVoici le code :var probleme lors Creation d'une galerie avec Clip imbriqué sous as3 [ par martin8fr ] var imageLoader:Loader;var xml:XML;var xmlList:XMLList;var xmlLoader:URLLoader = new URLLoader();var container:MovieClip;var cadre:Cadre = new Cadre() AcrionScript 3 Lecture d'un fichier XML [ par nuns ] Bonjour, J'essaie de faire une classe pour charger un fichier xml, qui comporte juste le chemin des images sur le serveur. La lecture ce fait correc AS3 : puzzle avec chargement images via XML [ par nray ] Bonjour à tous, Je suis entrain de créer un puzzle et je souhaite charger de manière aléatoire 20 mes images (de 3 puzzles différents) via un fichier AS3 + XML [ par dimass01 ] Bonjour, Je suis débutant en AS3 et je souhaiterai faire une carte de france avec des boutons pour chaque département. Le survol d'un bouton va perm Délai chargement aléatoire [ par noelement ] Hello, j'aurais aimé savoir s'il étatait possible de rajouter un délai pour le chargement aléatoire de mon script exemple : changement toute les 3 sec probleme d'import de ma vignette [ par lasardine ] Bonjour et merci a ceux qui voudront bien m'aider. Je me forme à l'action script avec mes petits moyens de free-lance qui n'arrive pas a obtenir d'aid chargement fichier xml via flash dans wordpress [ par gusd ] Bonjour à tous et merci d'avance de votre attention. Voilà mon problème(peut-être un peu hors sujet, mais je n'ai pas trouvé de réponse sur flashkod


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 4,430 sec (4)

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