2009-05-04 4 views
1
<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> 

Мне нужно, чтобы получить все атрибуты (как ключ и значение)AS3: все ключевые значения + из XML атрибутов

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-й пункт

ответ

4

Причина, по которой он взорвется на третьем пункте, состоит в том, что он имеет два атрибута. Вы используете ярлык, который получает только имя, если есть только один атрибут. Вам необходимо изменить код:

for each (var item : XML in data.items) 
{ 
    for each (var attr : XML in item.attributes()) 
    { 
     trace(attr.name()); 
    } 
} 

Редактировать: Скобки после названия отсутствуют.

1

Используйте attr.valueOf(), чтобы получить значение этого атрибута

for each (var item : XML in data.items) 
{ 
    for each (var attr : XML in item.attributes()) 
    { 
     trace(attr.name()+":"+ attr.valueOf()); 
    } 
} 
Смежные вопросы