Comment puis-je modifier dynamiquement nœud XML valeurs dans le code ActionScript?
/* I start with this: */
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>true</prop5>
</Report>
/* I want this result (change the value of node "prop5"): */
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>false</prop5>
</Report>
/* I tried this: */
var reportXML:XML =
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>true</prop5>
</Report>;
var myArray:Array = [{xmlNodeName: "prop5", value: false}];
for each (var item:Object in myArray)
{
report.xml[item.xmlNodeName] = item.value.toString();
}
/* But this just adds a new node, resulting in this: */
<Report>
<prop1>4</prop1>
<prop2>2255</prop2>
<prop3>true</prop3>
<prop4>false</prop4>
<prop5>true</prop5>
<prop5>false</prop5>
</Report>;
OriginalL'auteur Eric Belair | 2008-11-17
Vous devez vous connecter pour publier un commentaire.
Cela semble être en train de faire exactement ce que vous voulez. C'est juste votre code avec quelques fautes de frappe fixe.
OriginalL'auteur Jesse Millikan
Je n'ai pas été en mesure de modifier des éléments dans un objet XML après que l'objet a été créé et la documentation Adobe n'est pas clair si cela est encore possible.
Pour la définition dynamique de valeurs, j'ai créé une chaîne temporaire et ajouté tous mes Nœuds XML et les Attributs d'ici.
Ensuite, vous pouvez simplement créer l'objet xml spécification de votre temp chaîne comme le seul paramètre.
Quelque chose comme:
Maintenant, si vous trace xmlObj, vous aurez
Cela vous permettra d'attribuer dynamiquement tout ce que vous voulez à la chaîne, puis de construire le XML après le fait. Ce n'est pas très utile si vous souhaitez modifier un objet XML, mais vous pouvez simplement utiliser toString() et modifier la chaîne en conséquence.
Il pourrait au moins aider dans la pour obtenir commencé avec l'élaboration dynamique de fichiers XML!
OriginalL'auteur Jawdy
J'ai juste vérifié que cela fonctionne:
OriginalL'auteur defmeta
si vous avez seulement le nœud, vous pouvez aller de cette
OriginalL'auteur manu
À l'aide d'E4X syntaxe ActionScript 3 je suppose que ce serait quelque chose comme:
OriginalL'auteur Christophe Herreman