views:

954

answers:

1
<top>
 <item link="http://www.google.be"&gt;&lt;![CDATA[test]]&gt;&lt;/item&gt;
 <item link="http://www.google.be"&gt;&lt;![CDATA[test]]&gt;&lt;/item&gt;
 <item bold="true" link="http://www.google.be"&gt;&lt;![CDATA[test]]&gt;&lt;/item&gt;
</top>

I need to get all the attributes (both key and value)

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

gives this error

 TypeError: Error #1086: The name method only works on lists containing one item.

on the 3th item

+3  A: 

The reason it's blowing up on the third item is that it has two attributes. You are using a shortcut that only gets the name if there is only one attribute. You need to change your code to the following:

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