je ce code pour la suppression d'un nœud spécifique dans:AS3/Flash: suppression de noeud XML basé sur deux valeurs
var db: XML = <db>
<entry>
<Name>JAMES</Name>
<Surname>MAILER</Surname>
<Date>28/08/2013</Date>
</entry>
<entry>
<Name>NATA</Name>
<Surname>KING</Surname>
<Date>28/08/2013</Date>
</entry>
<entry>
<Name>ROMAN</Name>
<Surname>ALDA</Surname>
<Date>28/08/2013</Date>
</entry>
<entry>...</entry>
</db>
clean();
function clean():void
{
var tempXML:XML = <db></db>;
var count:int = db.children().length();
trace (count);
for (i=0; i < count; i++)
{
if (db.children()[i].Name == "JAMES" && db.children()[i].Surname == "MAILER")
{
//do nothing
}else{
tempXML.appendChild(db.children()[i]);
}
}
db = tempXML;
}
Comme vous pouvez le voir, je suis en utilisant l'autre pour ajouter les noeuds qui n » t correspond à l'instruction conditionnelle.
Si j'utilise:
if (db.children()[i].Name == "JAMES" && db.children()[i].Surname == "MAILER")
je peux éviter le « autre », mais le code supprime tous les nœuds qui ont JAMES ou MEX comme valeurs.
Le script "ne rien faire" fait l'affaire, mais c'est moche.
Y a-t-il un meilleur moyen d'utiliser des boucles et une comparaison simple?
Merci,
et bravo.
Merci djib! J'ai utilisé une autre méthode, mais la vôtre fonctionne aussi bien. Les deux sont de bonnes solutions. – Sergio