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