Salut,
Je me suis lancé dans Flash qui calcule les pertes/blessés lors d'une bataille il y a peu et je viens de le finir. Il ne me reste plus qu'à relier à une base de données.
J'ai ce fichier xml (très simple) :
Code XML :
<?xml version="1.0" encoding="UTF-8"?>
<Morgan>
<nbunitsdiff>3</nbunitsdiff>
<nombr1>5</nombr1>
<unite1>Infanterie XIAP</unite1>
<nombr2>4</nombr2>
<unite2>Militaire</unite2>
<nombr3>1</nombr3>
<unite3>Sniper</unite3>
</Morgan>
<arabemission>
<nbunitsdiff>2</nbunitsdiff>
<nombr1>1</nombr1>
<unite1>Mercenaire arabe</unite1>
<nombr2>1</nombr2>
<unite2>Infanterie XIAP</unite>
</arabemission>
Et j'ai ce code en AS2 dans un bouton :
Code ActionScript :
on (release) {
//On saisit le nom d'un des noeuds à la base
predef = predefine.text;
var test:XML = new XML();
test.ignoreWhite = true;
test.onLoad = function(succes) {
//Recherche de ce qui a été entré
//cN corrspond on n° du noeud correspondant au texte entré
var cN:Number = 0;
while (predef<>this.childNodes[cN].nodeName && this.childNodes[cN].nodeName<>undefined) {
cN += 1;
}
//On assigne aux variables les valeurs correspondantes
//nbdiff = le 1e noeud de ce qui a été entré
var nbdiff:Number = Number(this.childNodes[cN].childNodes[0].firstChild);
var nS:Number = 0;
//Test :
trace("Dans le xml : "+this.childNodes[cN].childNodes[0].firstChild);
trace("Et nbdiff vaut : "+nbdiff);
for (i=1; i<(nbdiff+1); i++) {
//nS = pour passer au noeud suivant
nS += 1;
_root["nb"+i] = Number(this.childNodes[cN].childNodes[nS].firstChild);
nS += 1;
_root["unit"+i] = this.childNodes[cN].childNodes[nS].firstChild;
}
};
test.load("test.xml");
}
Avec ce code, j'aimerais assigner à mes variables (déclarées plus tôt dans le script) :
nb1 = 1e noeud de ce qui a été entré
unit1 = 2e noeud
nb2 = 3e noeud
etc
Mais le problème est que ma variable nbdiff donne NaN donc la boucle for (tout à la fin) ne fonctionne pas ...
J'ai cherché un bon moment comment régler le problème mais je n'y suis pas arrivé en faisant des tests et en cherchant sur le net.
Merci d'avance à ceux qui se pencheront sur mon problème.