Changer la valeur de l'attribut sur un objet XML dans AS3
-
01-07-2019 - |
Question
Existe-t-il un moyen facile de faire cela? Ou dois-je analyser le fichier et faire quelques recherches / remplacements par moi-même?
L'idéal serait quelque chose comme:
var myXML: XML = ???; // ... load xml data into the XML object
myXML.someAttribute = newValue;
La solution
Les attributs sont accessibles dans AS3 en utilisant le préfixe @
.
Par exemple:
var myXML:XML = <test name="something"></test>;
trace(myXML.@name);
myXML.@name = "new";
trace(myXML.@name);
Sortie:
something
new
Autres conseils
Le problème concerne certains attributs, comme @class. Imaginez simplement que vous souhaitiez créer une source HTML et créer un test de balise
Le code devrait donc être
var myDiv: XML = test myDiv. @ class = " myClass " ;; // je veux le définir ici, car cela peut varier
mais ce n'est pas compilable et cela jette une erreur (du moins dans Flex Builder)
dans ce cas, vous pouvez également utiliser ceci:
myDiv. @ ['class'] = "myClass" ;;