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

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Remplir un tableau avec du xml


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

Remplir un tableau avec du xml

mardi 3 novembre 2009 à 22:24:18 | Remplir un tableau avec du xml

Kangouroops

Bonjour tout le monde,
Me revoilà avec une nouvelle question.
Pour repréciser les choses je débute complètement en programmation, du coup je regarde des codes un peu partout pour essayer de me faire mes codes.
Bref,
Je suis entrain de faire un générateur d'avatar, et j'aimerai bien charger les images dynamiquement.

Voici le bout de code qui nous intéresse:
Code ActionScript :
function chargementComplet(pEvt:Event):void {   // on récupère notre xml
var parties:XML = new XML( pEvt.target.data );//la classe XML est une classe native de Flash, on la trouve dans le package Top Level.
var personne:XMLList = parties.elements(); //le document XML est constitué d'une liste d'éléments XML, en l'occurence ici, une liste de personnes
for each(var image:XML in personne.(@sexe=="F").yeux){//pour chaque noeud enfants dans la liste des personnes
	tableau_yeux.push(image);
	trace (tableau_yeux[0]);
}
}


Le trace affiche cela:
Code ActionScript :
<yeux>
  <image src="yeux/yeux_1.png"/>
  <image src="yeux/yeux_0.png"/>
  <image src="yeux/yeux_2.png"/>
  <image src="yeux/yeux_3.png"/>
  <image src="yeux/yeux_4.png"/>
  <image src="yeux/yeux_5.png"/>
  <image src="yeux/yeux_6.png"/>
  <image src="yeux/yeux_7.png"/>
</yeux>



Or, j'imaginais qu'avec ce code, il créerai une nouvelle entrée dans le tableau pour chaque image du fichier xml, malheureusement ce n'est pas le cas, il remplis la case 0 avec toutes les images.

Que pourrais-je faire pour remédier à cela ?
Pour ma part j'y suis depuis plusieurs jours et je n'arrive toujours à rien.
Donc je m'en remets à vous, par avance un grand merci à celui/celle/ceux qui m'aideront :)
mardi 3 novembre 2009 à 22:44:10 | Re : Remplir un tableau avec du xml

pegase31

Membre Club Administrateur CodeS-SourceS
Bonsoir,

pourquoi récupérer les "elements" de ta XMLList ?
tu peux déjé récupérer les infos de dont tu as besoin dans ta XMLList dés le départ sans te prendre la tête.

Par contre, je n'ai pas bien saisis ta façon de placer les données dans le XML ... serait-il possible de l'avoir ?

Peg'
mardi 3 novembre 2009 à 22:46:06 | Re : Remplir un tableau avec du xml

Orange73

Membre Club
Hello,

et si tu change ton code par

Code ActionScript :
function chargementComplet(pEvt:Event):void
{
var parties:XML = new XML( pEvt.target.data );
var yeuxNode:XMLList = parties.(@sexe=="F").yeux;
for each(var image:XML in yeuxNode)
{
     tableau_yeux.push(image);
     trace (tableau_yeux[0]);
}
}



A+

-- Orange73 --

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

mardi 3 novembre 2009 à 22:56:19 | Re : Remplir un tableau avec du xml

Kangouroops

Salut vous deux,
Merci de vous intéresser à mon problème.
Déjà pour commencer, voici mon xml:
Code XML :
<?xml version="1.0" encoding="iso-8859-1"?> 
<avatar>
	<personne sexe="M">
		<cheveux>
		</cheveux>
		<yeux>
			<image src="yeux/yeux_0.png" ></image>
			<image src="yeux/yeux_1.png" ></image>
			<image src="yeux/yeux_2.png" ></image>
			<image src="yeux/yeux_3.png" ></image>
			<image src="yeux/yeux_4.png" ></image>
			<image src="yeux/yeux_5.png" ></image>
			<image src="yeux/yeux_6.png" ></image>
			<image src="yeux/yeux_7.png" ></image>
		</yeux>
		<bouche>
		</bouche>
		<tenue>
		</tenue>
	</personne>
	<personne sexe="F">
		<cheveux>
		</cheveux>
		<yeux>
			<image src="yeux/yeux_1.png" ></image>
			<image src="yeux/yeux_0.png" ></image>
			<image src="yeux/yeux_2.png" ></image>
			<image src="yeux/yeux_3.png" ></image>
			<image src="yeux/yeux_4.png" ></image>
			<image src="yeux/yeux_5.png" ></image>
			<image src="yeux/yeux_6.png" ></image>
			<image src="yeux/yeux_7.png" ></image>
		</yeux>
		<bouche>
		</bouche>
		<tenue>
		</tenue>
	</personne>
	<fond>
	</fond>
</avatar>


pourquoi récupérer les "elements" de ta XMLList ?
tu peux déjé récupérer les infos de dont tu as besoin dans ta XMLList dés le départ sans te prendre la tête.



Huhu, en fait, comme je ne comprends pas vraiment ce que je fais, et que j'ai repris ce code d'un autre site, je ne l'ai pas enlevé, j'ai juste modifié les noms pour qu'ils correspondent aux miens.

Orange73>
J'ai essayé de remplacer mon code par le tien, mais flash me retourne cette erreur:
Code ActionScript :
ReferenceError: Error #1065: La variable @sexe n'est pas définie.
	at essai_02_fla::MainTimeline/chargementComplet()
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at flash.net::URLLoader/onComplete()


Voilou, j'espère qu'avec ces quelques données complémentaires j'aurai pu vous éclairer sur la nature du problème.
Par avance, je vous remercie.
mardi 3 novembre 2009 à 23:03:23 | Re : Remplir un tableau avec du xml

Orange73

Membre Club
Avec le xml c'est mieux ;-)

Code ActionScript :
var yeuxNode:XMLList = personne.(@sexe=="F").yeux;




-- Orange73 --

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

mardi 3 novembre 2009 à 23:17:50 | Re : Remplir un tableau avec du xml

Kangouroops

Avec le xml c'est mieux ;-)



Huhu, je confirme, j'aurai du l'envoyer dès le départ.
Alors quand je modifie avec ce que tu me donnes, j'ai donc ce code là:

Code ActionScript :
function chargementComplet(pEvt:Event):void
{
var personne:XML = new XML( pEvt.target.data );
var yeuxNode:XMLList = personne.(@sexe=="M").yeux;
for each(var image:XML in yeuxNode)
{
     tableau_yeux.push(image);
     trace (tableau_yeux[0]);
}
}


Et il me renvoie la même erreur que tout à l'heure, me disant que la variable @sexe n'est pas définie.

ReferenceError: Error #1065: La variable @sexe n'est pas définie.
at essai_02_fla::MainTimeline/chargementComplet()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()



Résultat des courses, je suis toujours dans le brouillard lol.
Merci de t'intéresser à mon problème en tout cas, c'est vraiment sympa :)
mardi 3 novembre 2009 à 23:55:55 | Re : Remplir un tableau avec du xml

pegase31

Membre Club Administrateur CodeS-SourceS
Code ActionScript :
for each(var img:XML in personne.(@sexe=="M").yeux.image) {
     tableau_yeux.push(img.@src);
}
trace (tableau_yeux);


normalement, ça doit marcher.

Peg'
mercredi 4 novembre 2009 à 00:01:32 | Re : Remplir un tableau avec du xml

Kangouroops

Salut, merci pour ta réponse,
Je vois que ton code s'attaque directement à l'adresse de l'image, c'est une bonne chose parce que je n'aurai pas su faire je pense.
Par contre, j'ai toujours cette même erreur:

ReferenceError: Error #1065: La variable @sexe n'est pas définie.



Est-ce qu'il faut que je définisse une variable sexe et que j'indique à quoi elle correspond parce qu'il ne le sait pas tout seul ?

Est-ce que poster un zip contenant le .fla, le .xml et le dossier avec les images serait un plus ?
mercredi 4 novembre 2009 à 00:13:17 | Re : Remplir un tableau avec du xml

pegase31

Membre Club Administrateur CodeS-SourceS
ben ton XML seul suffirait, mais pour mio il est bon au départ ... Utilises-tu une variable dont le nom est "sexe" dans ton code ?

Peg'
mercredi 4 novembre 2009 à 00:16:13 | Re : Remplir un tableau avec du xml

Kangouroops

Le xml, je ne l'ai pas modifié depuis que je l'ai posté plus haut, donc il n'a pas changé.
Dans mon code je n'utilise aucune variable "sexe".

Voici le code complet:
Code ActionScript :
stop();
//btn_yeux_droite.addEventListener(MouseEvent.CLICK, relacherYeuxDroite);

import fl.containers.UILoader; 

var tableau_yeux:Array = new Array();

var aLoader:UILoader = new UILoader(); 
aLoader.source = tableau_yeux[0]; 
aLoader.scaleContent = false; 
addChild(aLoader); 
aLoader.autoLoad = true;
 
var chargementXML:URLLoader = new URLLoader();// objet de chargement
var fichier:URLRequest = new URLRequest("galerie.xml");// url du fichier chargé
chargementXML.addEventListener( Event.COMPLETE, chargementComplet );
chargementXML.load( fichier );
 // chargement terminé du fichier xml
function chargementComplet(pEvt:Event):void
{
var personne:XML = new XML( pEvt.target.data );
var yeuxNode:XMLList = personne.(@sexe=="M").yeux;
/*for each(var image:XML in yeuxNode)
{
     tableau_yeux.push(image);
     trace (tableau_yeux[0]);
}*/
for each(var img:XML in personne.(@sexe=="M").yeux.image) {
     tableau_yeux.push(img.@src);
}
trace (tableau_yeux);
}


Il y a peut-être quelque vieux trucs qui trainent, je fais beaucoup d'essais différents pour essayer d'avoir quelque chose qui marche, et ensuite je cleanerai le tout.

1 2

Cette discussion est classée dans : code, liste, tableau, var, xml


Répondre à ce message

Sujets en rapport avec ce message

XML -> Array = Décalage :'( [ par Inekman ] Bonsoir tout le monde,Je souhaite charger un contenu XML dans 2 Array différents. Après avoir galéré 4 ou 5 heures, j'ai trouvé sur le site un exemple probleme de lecture d'un fichier mp3 avec XML [ par fabricioliking ] Bonjours ^^ Voila je suis en train de créé un lecteur mp3 id3 xml en flash mais comme vous allé le voir je suis encore que débutant. Voila lorsque je [XML] probleme redaction [ par jarlaath ] Bonjour,je suis en train de créer une animation pour flash avec du XML et je me trouve devant un probleme. J'aurais aimé faire en sorte de pouvoir fai Recup flasvars PHP to flash [ par Ariranha ] BonjourAprès de nombreuses recherches infructueuses, je me dirige vers vous pour "essayer" de trouver une solution.Je récupère à partir d'un fichier P XML Auto Update Data (AS 3.0) [ par nerigal ] bonjour, ici mon problème..je doit faire un code qui extrait des données depuis un XML externe produit par un serveur exemple - 2009-02-15 probleme flashvars sur bdd xml [ par vilkoyote ] Bonjour a tous :) Voila j'ai dev un petit flash en AS3 et j ai un problème de récupération de variable via la section AC_FL_RunContent du html génér Redimensionné images charger a partir d'un XML [ par ArC3Nik ] Bonjour Voila je souhaite afficher sur un site les dernière meilleur vente dans un flash. Les information sont stocké dans un fichier xml. Je commen Préchargement d'image [ par Kangouroops ] Bonjour tout le monde, Je viens à vous pour une petite question, Je suis entrain de faire un générateur d'avatar: http://hanser.perso.neuf.fr/Amaury [Flash AS]Lecteur mp3 + liste xml [ par tfk16 ] Bonjour a tous et a toutes je poste aujourd'hui ce sujet qui me derange depuis longtemps bon sans plus tarder je vous donne le probleme . J'ai conçu u variable globale [ par JackNUMBER ] Bonsoir à tous, ce doit être tout bête mais je n'arrive pas à trouver la solution. J'ai un fichier XML contenant des infos dont une url d'image. J'aim


Nos sponsors


Sondage...

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

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