AS3: все ключи + значения из атрибутов XML
-
03-07-2019 - |
Вопрос
<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>
Мне нужно получить все атрибуты (и ключ, и значение)
for each ( var item : XML in data.item )
{
trace(item.attributes().name());
}
выдает эту ошибку
TypeError: Error #1086: The name method only works on lists containing one item.
3-го пункта
Решение
Причина, по которой он разрушает третий элемент, состоит в том, что он имеет два атрибута. Вы используете ярлык, который получает имя, только если есть только один атрибут. Вам нужно изменить свой код следующим образом:
for each (var item : XML in data.items)
{
for each (var attr : XML in item.attributes())
{
trace(attr.name());
}
}
Изменить: скобки после имени отсутствовали.
Другие советы
Используйте attr.valueOf (), чтобы получить значение этого атрибута
for each (var item : XML in data.items)
{
for each (var attr : XML in item.attributes())
{
trace(attr.name()+":"+ attr.valueOf());
}
}
Не связан с StackOverflow