AS3: todos los valores clave + de los atributos XML
-
03-07-2019 - |
Pregunta
<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>
Necesito obtener todos los atributos (clave y valor)
for each ( var item : XML in data.item )
{
trace(item.attributes().name());
}
da este error
TypeError: Error #1086: The name method only works on lists containing one item.
en el artículo 3
Solución
La razón por la que está explotando en el tercer elemento es que tiene dos atributos. Está utilizando un acceso directo que solo obtiene el nombre si solo hay un atributo. Debe cambiar su código a lo siguiente:
for each (var item : XML in data.items)
{
for each (var attr : XML in item.attributes())
{
trace(attr.name());
}
}
Editar: faltaban los corchetes después del nombre.
Otros consejos
Use attr.valueOf () para obtener el valor de ese atributo
for each (var item : XML in data.items)
{
for each (var attr : XML in item.attributes())
{
trace(attr.name()+":"+ attr.valueOf());
}
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow