2009-05-04 34 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()); 
    } 
}