Frage

Ich habe eine Funktion, die diese Linie hat:

var returnString:String = items[0].@month;

@Month ist ein attibute auf einem XML-Knoten wie folgt:

<xmlnode month="JAN"/>

OK, aber ich muss abstrakt dem Attributnamen, damit ich eine Zeichenfolge an die Funktion übergeben können und den Inhalt des Attributs mit dem Namen bekommen die String-Matching-I übergeben. So zum Beispiel, wenn ich rufe Sie die Funktion wie diese Funktion ( „Stein“) es Artikel gibt [0]. @ Stein. Ich hoffe, das ist klar.

Wer weiß, wie zu tun, was ich bin nach?

Danke.

War es hilfreich?

Lösung

Sie werden Attribut verwenden möchten ( ‚Stein‘), anstatt @stone, ist es das gleiche, @stone ist nur eine verkürzte Form des Schreibens.

Andere Tipps

Sie können schreiben dies als:

var attrName:String = "month";
return items[0].@[ attrName ];

nicht nur das, aber wenn Sie jemals einen Wert zu einem Attribut mit einer Variablen für den Attributnamen zuweisen möchten, können Sie dies tun (obwohl es nicht dokumentiert ist) wie folgt:

  public function setAttr(obj:XML, attrName:String, value:String):void{
     obj.@[attrName] = value;
  }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top