AS3: todos os valores + chave de atributos XML
-
03-07-2019 - |
Pergunta
<top>
<item link="http://www.google.be"><![CDATA[test]]></item>
<item link="http://www.google.be"><![CDATA[test]]></item>
<item bold="true" link="http://www.google.be"><![CDATA[test]]></item>
</top>
Eu preciso para obter todos os atributos (tanto de chave e valor)
for each ( var item : XML in data.item )
{
trace(item.attributes().name());
}
dá esse erro
TypeError: Error #1086: The name method only works on lists containing one item.
no item 3º
Solução
A razão é explodir no terceiro item é que ele tem dois atributos. Você está usando um atalho que só recebe o nome, se houver apenas um atributo. Você precisa alterar seu código para o seguinte:
for each (var item : XML in data.items)
{
for each (var attr : XML in item.attributes())
{
trace(attr.name());
}
}
Editar:. Parênteses após o nome estavam faltando
Outras dicas
Use attr.valueOf () para obter o valor do atributo
for each (var item : XML in data.items)
{
for each (var attr : XML in item.attributes())
{
trace(attr.name()+":"+ attr.valueOf());
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow