Charger plusieurs fichiers xml inconnus ou changeant [Résolu]

Signaler
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
-
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
-
Salut... bigre, je n'aurais jamais autant posé de questions sur le XML en une semaine, mdr... promis j'irais me confesser dimanche.
Bon... voilà le topo... j'arrive maintenant ( suite de mes questions précédentes en fait, sur le XML ze world ), à charger 10 xml et répartir le tout sur 3 colonnes, à paramétrer les couleurs y compris celles de l'ombre portée, et les fonds d'écrans...

Mais...
Mes fichiers se nomment :

Menu0.xml
Menu1.xml
Menu2.xml
etc...
et sont donc définis à l'avance... pour les charger je fais ça :
"..."myXML0 new XML();myXML0.ignoreWhite true;myXML0.load("XMLFR/Menu0.txt");
"..." etc, etc...

Est-il possible de les appeler autrement dans flash, genre... si on a envie d'appeler le premier fichier xml, "zefichierkitu.xml", comment faire..??

J'avais pensé à ce genre de truc, avec le "*" :myXML0 new XML();myXML0.ignoreWhite true;myXML0.load("XMLFR/0" + * + ".txt");

pour par exemple :
0machintruc.xml
1bidulechose.xml
2trucchouette.xml
(comme ça donc, on peut donner le nom qu'on veut aux fichiers, à n'importe quel moment et sans avoir à modifier le fla... moins prise de tête quoi. La condition étant de mettre un chiffre après...)
Mais ça marche pas... (sinon je ne serais pas là)... Quelqu'un donc saurait-il comment signaler le "*" dans flash ou ... une autre soluce pitète?

Merci de votre aide !

6 réponses

Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
8
pourquoi ne pas faire un XML contenant les noms de tes XML à charger, tout simplement ?

Peg'
Messages postés
131
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
4 janvier 2011
2
Salut !

Bon a ce que je sais, flash c'est côté client, donc pas facile de lire le contenu d'un répertoire. Par contre php est ton pote. Tu as juste à écrire un simple script qui prend par exemple en parametre ton type "xml" et ton dossier, et qui te ressort tout les fichiers xml contenu dans ce dossier.
C'est assez simple à faire je pense ... après tu peux faire un loadVariables si tu es en AS2, ou au pire découper le contenu de ton php manuellement ...

Bon Courage
Lural
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

oups j'ai oublié de préciser une chose d'importance : ce n'est aps pour le web mais pour du local de chez local... php étant un langage server, c cuit je crois... :/
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

hm... ah vi bonne idée, j'avais pas pensé à ça hihihi... merciiiiii !!!
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
8
Les solutions les plus simple sont souvent les plus efficaces
Content d'avoir pu te dépanner ;)

Peg'
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

euh, en fait j'ai un souci, il ne veut aps charger...

J'ai créer un fichier xml contenant les noms des autres fichiers XML à charger :
(ListeFR.txt) > j'ai mis l'extension txt et non xml car c plus facile à ouvrir par n'importe ki !

<main>
   <news>
     <Menu0 value="Menu0" />
     <Menu1 value="Menu1" />
     <Menu2 value="Menu2" />
     <Menu3 value="Menu3" />
     <Menu4 value="Menu4" />
     <Menu5 value="Menu5" />
     <Menu6 value="Menu6" />
     <Menu7 value="Menu7" />
     <Menu8 value="Menu8" />
     <Menu9 value="Menu9" />
   </news>
</main>

je les appelles comme ça dans le flash, (il y a donc 10 champs pour recevoir disctinctement les différents noms, à noter kan meme que c 10, et c tout, ni plus ni moins, donc...)
myXMLMenu new XML();myXMLMenu.ignoreWhite true;myXMLMenu.load("XMLFR/ListeFR.txt");
myXMLMenu.onLoad = function(flag) {
  if (flag) {
    i = 0;
    x = myXMLMenu.firstChild;
            MenuTitre0.text = (x.childNodes[i].childNodes[0].attributes.value+".txt");
            MenuTitre1.text = (x.childNodes[i].childNodes[1].attributes.value+".txt");
            MenuTitre2.text = (x.childNodes[i].childNodes[2].attributes.value+".txt");
            MenuTitre3.text = (x.childNodes[i].childNodes[3].attributes.value+".txt");
            MenuTitre4.text = (x.childNodes[i].childNodes[4].attributes.value+".txt");
            MenuTitre5.text = (x.childNodes[i].childNodes[5].attributes.value+".txt");
            MenuTitre6.text = (x.childNodes[i].childNodes[6].attributes.value+".txt");
            MenuTitre7.text = (x.childNodes[i].childNodes[7].attributes.value+".txt");
            MenuTitre8.text = (x.childNodes[i].childNodes[8].attributes.value+".txt");
            MenuTitre9.text = (x.childNodes[i].childNodes[9].attributes.value+".txt");
        i++;
    }
  }

donc le 1er champs dynamique nommé "MenuTitre0" affiche bien, "Menu0.txt".
Ensuite j'appelle donc ce fichier "Menu0.txt" de cette manière :

myXML0 = new XML();
myXML0.ignoreWhite = true;
myXML0.load("XMLFR/"+MenuTitre0.text);
myXML0.onLoad = function(flag) {
  if (flag) {
    i = 0; etc, etc...

il m'affiche alors ça :

Error opening URL "file:///C|/Alain%5Fok/TestNov08/VersionOK/XMLFR/-
"

Ca cloche où, je vois pas..., j'ai utiliser la meme technique pour afficher des couleurs dans des champs. Les différents contenus sont chargés et les couleurs sont bel et biena ffichées, et là pour un "chargement" de fichier, ça ne fonctionne pas...