begin process at 2012 05 27 16:42:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

AcrionScript 3 Lecture d'un fichier XML


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

AcrionScript 3 Lecture d'un fichier XML

mardi 21 juillet 2009 à 11:54:02 | AcrionScript 3 Lecture d'un fichier XML

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 correctement, mais le problème est quand je veux récupérer le tableau avec ma liste d'images.
Par exemple avec la fonction "getItems" la liste d'image est vide.

Could you help me ? please.

Meilleurs salutation.

Code ActionScript :

package {
import flash.net.URLLoader;
import flash.utils.Timer;
import flash.xml.XMLDocument;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLRequest;

public class ChargeXML {

protected var items : Array;

protected var loader : URLLoader;

protected var xml : XMLDocument;

protected var t:Timer = new Timer(5000);


public function ChargeXML(str : String) : void {
//craete teh urlloader object
this.loader = new URLLoader();

this.items = new Array();

//craete a new flash.xml xmlDocuments object
this.xml = new XMLDocument();

//ignore the white spaces in the file
xml.ignoreWhite = true;



//set the loaders listener function that gets the event when the xml is loaded
this.loader.addEventListener(Event.COMPLETE, XMLloaded);
this.loader.addEventListener(ProgressEvent.PROGRESS, avancement);

//load the xml file from it's location
this.loader.load(new URLRequest(str));

trace(" Constructeur :" + this.items);
}

private function avancement(e:Event):void {
trace(e.target.bytesLoaded + " / " + e.target.bytesTotal);
}

private function XMLloaded(e:Event):void {
//parse the content and create a xml structure in the xmlDoscument
this.xml.parseXML(loader.data);

//firstchild represents first node, childNodes represent the nodes in the firstChild
for(var i:int = 0; i < xml.firstChild.childNodes.length; i++){

var o:Object = xml.firstChild.childNodes[i].attributes;

//pushing the item to the items array holding the mobiles
this.items.push(o.image);
}

trace(" XMLloaded :" + this.items);

}

public function getItems():Array {
trace(" getItems :" + this.items);

return this.items;
}
}

}




mardi 21 juillet 2009 à 16:17:37 | Re : AcrionScript 3 Lecture d'un fichier XML

nickydaquick

Membre Club



Salut,
1- a quoi ressemble la structure du xml contenu dans le fichier?
2- a part quelques lignes de codes que tu devrais p-e modifier ou rajouter, la logique est juste.
3- je ne vois en aucun endroit un appel a la fonction getItems(), qui pourtant est bien ecrite.

montre nous en plus si tu veux bien.
Bonne continuation.

http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!

mardi 21 juillet 2009 à 17:03:19 | Re : AcrionScript 3 Lecture d'un fichier XML

nuns

Salut,

Imaginons dans mon main.

Code ActionScript :

//code de main exemple.
trace("before create object");
var items : ChargeXML = new ChargeXML('images.xml');
trace("after create object");

trace(items.getItems());



ce que je reçois dans la fenêtre système.
Code :

Avant Creat object
Constructeur :
apres Create object
getItems :

259 / 259
XMLloaded :imgs/1.jpg,imgs/2.jpg,imgs/3.jpg,imgs/4.jpg,imgs/5.jpg




Code XML :

<?xml version="1.0" encoding="utf-8" ?>
<data>
<image image="imgs/1.jpg" name="1" />
<image image="imgs/2.jpg" name="2" />
<image image="imgs/3.jpg" name="3" />
<image image="imgs/4.jpg" name="4" />
<image image="imgs/5.jpg" name="5" />
</data>


J'arrive à lire le contenu de mon xml. Ce que je ne comprends pas c'est pourquoi ma fonction "getItems" est exécuté avant le tracer qui ce trouve dans la fonction "XMLloaded"

Je ne sais si j'ai été claire.

Meilleurs salutation&#8230;

mercredi 22 juillet 2009 à 17:20:17 | Re : AcrionScript 3 Lecture d'un fichier XML

nickydaquick

Membre Club



Salut,

C'est parce le chargement du fichier xml est fait de maniere asynchrone. Ce qui veut ire que flash initie le chargement du fichier et le confie a un thread, en attendant que le fichier soit charge (et que ta fonction soit notifiee) , il execute les autres lignes de codes. Voila pkoi ton tableau est vide lorsque ta fonctions est appelee : parce que ton fichier n'est pas encore charge et traite.

Bonne continuation.
http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!

mercredi 22 juillet 2009 à 21:46:35 | Re : AcrionScript 3 Lecture d'un fichier XML

nuns

Salut,

Merci pour ta réponse, mais comment je pourrais éviter ça.

Meilleurs salutation.

jeudi 23 juillet 2009 à 00:31:32 | Re : AcrionScript 3 Lecture d'un fichier XML

nickydaquick

Membre Club


Salut,

tu as deja implemente la solution toi-meme: la fonction XMLloaded, qui est appelee lors du chargement complet du fichier. Tu peux recommencer une sequence d'actions synchrones a partir de la.

Bonne continuation.

http://liveplayaz.com
je suis heureux de faire partie d'une grande famille ...!

jeudi 23 juillet 2009 à 08:34:41 | Re : AcrionScript 3 Lecture d'un fichier XML

nuns


Salut,

Je ne vois pas trop ce que tu veux dire.

Salutation

jeudi 23 juillet 2009 à 09:08:34 | Re : AcrionScript 3 Lecture d'un fichier XML

Orange73

Membre Club
Réponse acceptée !


Hello,

par exemple dans ton constructeur, tu peux spécifier un second paramètre :

Code ActionScript :

var func : Function;

public function ChargeXML(str : String, pFunc : Function) : void
{
...
this.func = pFunc;
...
}


et ce paramètre sera la fonction de callback une fois le fichier chargé :

Code ActionScript :

private function XMLloaded(e:Event):void {
...
func();
}


Et donc lors de l'instanciation de la classe :

Code ActionScript :

var items : ChargeXML = new ChargeXML('images.xml', callback);

function callback():void
{
items.getItems();
}



A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)

jeudi 23 juillet 2009 à 12:27:37 | [Résolu] : AcrionScript 3 Lecture d'un fichier XML

nuns





Merci,
Ca fonctionne trés bien merci.

Meilleurs salutations.



Cette discussion est classée dans : flash, var, xml, import, items


Répondre à ce message

Sujets en rapport avec ce message

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 un carré simple en AS3 ne s'affiche pas - pourquoi?? heck!! [ par tim2 ] Je n'avais pas touché à Flash depuis AS2; je ne comprends plus rien..! J'essaie de créer dynamiquement un carré - la fonction est bien appelée et je p Problemes avec lecteur MP3 sous flash CS4/AS3 [ par nicolasp31000 ] Bonjour à tous Je débute dans la programmation sous AS3 et j'essaye actuellement de créer un petit contrôleur(bouton play et bouton pause) pour pouvoi AS3 problème sous IE avec une animation de type caroussel développée avec papervision [ par jpetre ] Premièrement bonjour à tous car ceci est mon premier post sur ce site :) Alors mon soucis, c'est que mon animation, une fois développée et intégrée, f Problèmes avec player pour webradio. [ par SteppenWulf ] Bonsoir, J'essaie de créer un player pour écouter ma webradio... Mais je rencontre des problèmes. ( Je suis un Newbie, j'utilise flash depuis ce we Déplacement au clavier (AS3) [ par greg63 ] Bonjour a tous, Je sais le sujet fût traité beaucoup de fois mais malgré tous les topics je n'ai pas trouvé de solutions. Voila mon problème. Je réa Demande d'aide pour une Galerie PaperVision3D avec XML [ par ximeng ] Bonjour à tous ! Et bravo à tout les flashkodiens, sans ce site je serai perdu ! Je suis super novice en AS3, et je n'ai jamais utilisé papervision j Ajout d'un élément fixe sur diaporama en AS3 [ par alxrb ] Hello, j'ai suivi un tuto en AS3 pour créer un diaporama avec fondu et déplacement sur y. Tout fonctionne, sauf que je voudrais placer un logo sur la impossible d'afficher des données XML [ par 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: <client nom="3M" logo="im


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 0,608 sec (3)

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