Frage

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

Ich brauche alle Attribute zu erhalten (beide Schlüssel und Wert)

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

gibt diesen Fehler

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

auf dem 3. Punkt

War es hilfreich?

Lösung

Der Grund, es auf dem dritten Element Luft zu sprengen ist, dass es zwei Attribute. Sie verwenden eine Verknüpfung, die den Namen bekommt nur, wenn es nur ein Attribut ist. Sie müssen Ihren Code wie folgt ändern:

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

Edit:. Brackets nach Namen fehlten

Andere Tipps

Mit attr.valueOf (), um den Wert dieses Attributs zu erhalten

for each (var item : XML in data.items)
{
    for each (var attr : XML in item.attributes())
    {
        trace(attr.name()+":"+ attr.valueOf());
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top