2009-05-04 6 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> 

J'ai besoin pour obtenir tous les attributs (la clé et la valeur)AS3: toutes les valeurs clés de + à partir des attributs XML

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

donne cette erreur

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

sur le 3ème article

Répondre

4

La raison pour laquelle il souffle sur le troisième élément est qu'il a deux attributs. Vous utilisez un raccourci qui obtient seulement le nom s'il n'y a qu'un seul attribut. Vous devez remplacer votre code par le suivant:

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

Édition: Les parenthèses après le nom étaient manquantes.

1

Utilisez attr.valueOf() pour obtenir la valeur de cet attribut

for each (var item : XML in data.items) 
{ 
    for each (var attr : XML in item.attributes()) 
    { 
     trace(attr.name()+":"+ attr.valueOf()); 
    } 
} 
Questions connexes