Alterar o valor de atributo em um objeto XML em AS3
-
01-07-2019 - |
Pergunta
Existe uma maneira fácil de fazer isso? Ou eu tenho que analisar o arquivo e fazer alguma pesquisa / substituição por conta própria?
O ideal seria algo como:
var myXML: XML = ???; // ... load xml data into the XML object
myXML.someAttribute = newValue;
Solução
Os atributos são acessíveis em AS3 utilizando o prefixo @
.
Por exemplo:
var myXML:XML = <test name="something"></test>;
trace(myXML.@name);
myXML.@name = "new";
trace(myXML.@name);
Output:
something
new
Outras dicas
O problema é que com alguns atributos, como @class. Imagine que você queira criar HTML e deseja criar teste tag
Assim, o código deve ser
var myDiv: XML = test . MyDiv @ class = "myClass"; // Eu quero configurá-lo aqui, porque ele pode variar
mas isso não é compilable e jogue erro (pelo menos no Flex Builder)
Nesse caso, você também pode usar este:
myDiv @ [ 'classe'] = "myClass";.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow