Question

<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>

Je dois obtenir tous les attributs (clé et valeur)

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 élément

Était-ce utile?

La solution

Si le troisième élément explose parce qu’il a deux attributs. Vous utilisez un raccourci qui obtient le nom s'il n'y a qu'un seul attribut. Vous devez modifier votre code comme suit:

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

Modifier: les crochets après le nom étaient manquants.

Autres conseils

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());
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top