Prob chargement XML

Prob chargement XML - Flash/ActionScript - Programmation

Marsh Posté le 21-05-2005 à 01:42:59    

Bonjour !
voila.. je cherche à faire mon premier script de chargement de données XML dans flash.... j'ai utilisé un tutoriel qui est assez fiable je pense... mais je comprends pas.. ça marche pas !!!
 
essai.swf :
 
sur la premiere image clef j'ai ecrit :
 

Code :
  1. stop();
  2. xmlDoc= new XML(); /* créer un objet xml */
  3. xmlDoc.ignoreWhite=true; /* ignorer les sauts de ligne */
  4. xmlDoc.load ("essai.xml" );
  5. trace("nom : "+xmlDoc.firstChild.childNodes[0].attributes.nom);
  6. trace("age : "+xmlDoc.firstChild.childNodes[0].attributes.age);
  7. trace("Length : "+xmlDoc.xmlDoc.firstChild.childNodes.length);
  8. if(xmlDoc.loaded)
  9. {
  10. gotoAndStop(2);
  11. }
  12. else
  13. {
  14. trace("not loaded" );//gotoAndStop(3);
  15. }


 
sur l'image 2 et 3 ya pas de code... juste un stop(); et un texte sur la scene qui dit "loaded" ou "not loaded"
 
 
mon fichier essai.xml (se trouvant dans le même dossier que mon swf)  
 

Code :
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <racine>
  3.    <personne nom="dupond" age="13" />
  4. </racine>


(PS : j'ai fait un copier coller bateau du xml du tutorial.. j'ai ajouté la balise d'entete (<?xml ...> ) je pense pas que ce soit génant.. au contraire...)
 
 
et voici le resulat quand je teste l'animation :
 

Citation :


nom : undefined
age : undefined
Length : undefined
not loaded


 
alors je comprends pas trop où est l'erreur sachant que j'ai respecté à la lettre le tutos... de plus j'en ai même essayé un autre pour voir si c t pas une erreur.. mais en vain...
 
Help me please !
 
Freed

Reply

Marsh Posté le 21-05-2005 à 01:42:59   

Reply

Marsh Posté le 21-05-2005 à 02:57:26    

'tain je veux l'url de ce tuto histoire de leur envoyer un mail d'insulte !!! :heink:
C'est une honte ! :fou:
En fait, ces gros blaireaux s'imaginent carément que le chargement du .xml est instantané !!!
 

Code :
  1. xmlDoc= new XML(); /* créer un objet xml */
  2. xmlDoc.ignoreWhite=true; /* ignorer les sauts de ligne */
  3. xmlDoc.onLoad = traiteXml;
  4. xmlDoc.load ("essai.xml" ); 
  5. stop();
  6. function traiteXml(success) {
  7. if(success) {
  8.   trace("Wouhouuu" );
  9.   trace("nom : "+xmlDoc.firstChild.childNodes[0].attributes.nom);
  10.   trace("age : "+xmlDoc.firstChild.childNodes[0].attributes.age);
  11.   gotoAndStop(2);
  12. }
  13. else {
  14.   trace("caca dans le ventilo !" );
  15.   gotoAndStop(3);
  16. }
  17. }


Message édité par Mr Mala le 21-05-2005 à 03:00:34
Reply

Marsh Posté le 21-05-2005 à 10:11:41    

AH OUI !!! CA VA BCP MIEUX COMME CA !!! :jap: :jap: :jap:
 
http://flash.media-box.net/index.php?showtopic=2342
 
et le premier que j'ai essayé c'est celui là :
http://flash.media-box.net/index.php?showtopic=1927


Message édité par freed102 le 21-05-2005 à 10:18:44
Reply

Marsh Posté le 21-05-2005 à 13:34:19    

Finalement, c'est à toi que je vais envoyer un mail d'insulte ! :heink:
 

freed102 a écrit :


alors je comprends pas trop où est l'erreur sachant que j'ai respecté à la lettre le tutos... de plus j'en ai même essayé un autre pour voir si c t pas une erreur.. mais en vain...


 
Ouais c'est ça ! ...
Et CA, c'est quoi ? Du blanc de poulet ? :fou:
Premier tuto :

Citation :


Ceci vient de creer un objet xml et de loader le xml dedans.
Le chargement du xml peut prendre un certain temps, il y a des méthodes pour verifier qu'un fichier xml est bien chargé dans le tutorial "XML: préchargements".
On admet ici que le XML est à présent completement chargé:  


Deuxième tuto :

Citation :


Image 2
On charge le xml:
gallerieXml.load("gallerie.xml" );
 
Image 3 vide
 
Image 4:
On fait un test pour voir si le xml est chargé:
if(!gallerieXml.loaded) gotoAndPlay(3);


 
 :pfff:


Message édité par Mr Mala le 21-05-2005 à 13:34:59
Reply

Marsh Posté le 21-05-2005 à 15:00:14    

Mr Mala a écrit :

Finalement, c'est à toi que je vais envoyer un mail d'insulte ! :heink:
 
 
 
Ouais c'est ça ! ...
Et CA, c'est quoi ? Du blanc de poulet ? :fou:
Premier tuto :

Citation :


Ceci vient de creer un objet xml et de loader le xml dedans.
Le chargement du xml peut prendre un certain temps, il y a des méthodes pour verifier qu'un fichier xml est bien chargé dans le tutorial "XML: préchargements".
On admet ici que le XML est à présent completement chargé:  


Deuxième tuto :

Citation :


Image 2
On charge le xml:
gallerieXml.load("gallerie.xml" );
 
Image 3 vide
 
Image 4:
On fait un test pour voir si le xml est chargé:
if(!gallerieXml.loaded) gotoAndPlay(3);


 
 :pfff:


 
ouai mais cela dit pour le premier tutos c marqué :  
"On admet ici que le XML est à présent completement chargé"
 
pour celui qui sait pas (comme moi en l'occurence) et bien on se plante !!! le tutos apprends les premiers pas pour le chargement de fichier XML... ils pourraient preciser que si c pas chargé completement  ça marche pas DU TOUT (et je pensais pas que pour 3 lignes de XML ça poserait probleme, surtout en local)!!!
 
pour le seconde tutos :
 
if(!gallerieXml.loaded) gotoAndPlay(3);
 
je l'ai fait !!!! et ça marche pas !!!!regarde la fin de mon code

Code :
  1. if(xmlDoc.loaded)
  2. {
  3. gotoAndStop(2);
  4. }
  5. else
  6. {
  7. trace("not loaded" );//gotoAndStop(3);
  8. }


 
... Mais cela ne suffit pas !!! puisque mon XML n'a JAMAIS été chargé avec cette methode !
par contre avec la tienne ça marche du premier coup ! donc je pense que dans les deux tutos il manquait quelquechose d'important!
 

Reply

Marsh Posté le 21-05-2005 à 15:51:43    

question :
 
voici mon XML :
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <FREEDGALLERY zoneTaille="80" zoneEspace="10" nbColonnes="3" nbLignes="3" textColor="0xFFFFFF" frameColor="0xFFFFFF" bgColor="0xFFFFFF" frameWidth="1" title="" imagePath="" thumbPath="thumbs">
  3. <IMAGE>
  4. <NAME>img1.jpg</NAME>
  5. <CAPTION><![CDATA[<A href="images/img1.jpg" target="_blank"><U>Image 1</U></A>]]></CAPTION>
  6. </IMAGE>
  7. <IMAGE>
  8. <NAME>img2.jpg</NAME>
  9. <CAPTION><![CDATA[<A href="images/img2.jpg" target="_blank"><U>Image 2</U></A>]]></CAPTION>
  10. </IMAGE>
  11. <IMAGE>
  12. <NAME>img3.jpg</NAME>
  13. <CAPTION><![CDATA[<A href="images/img3.jpg" target="_blank"><U>Image 3</U></A>]]></CAPTION>
  14. </IMAGE>
  15. </FREEDGALLERY>


 
si je veux recuperer le champ <NAME></NAME>
 
... je fais comment ?
 
moi j'ai essayé

Code :
  1. _root.galerieALL = galerieXML.firstChild.childNodes


 
puis..

Code :
  1. for(i=0;i<=_root.lon;i++)
  2. {
  3. var fichier=galerieAll[i].childNodes[0];//recupere le champ NAME
  4. createEmptyMovieClip("thumb_mc"+i,i+10)
  5. _root["thumb_mc"].loadMovie(_root.thumbPath+"/"+fichier);
  6. trace(thumbPath+"/"+fichier);
  7. }


 
 
... ce qui fait logiquement : firstChild.childNodes.childNodes[0]; (j'ai essayé sans le [0] mais c pareil)
 
.. mais c pô ça ! lol


Message édité par freed102 le 21-05-2005 à 15:53:55
Reply

Marsh Posté le 21-05-2005 à 15:58:50    

si je fais ça :
 
var fichier=galerieXML.firstChild.childNodes[i].childNodes[0];
 
il me sort :
 
thumbs/<NAME>img1.jpg</NAME>

Reply

Marsh Posté le 21-05-2005 à 16:08:55    

lastChild ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed