Domanda

Ho una funzione che ha questa linea:

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

@month è un attobute su un nodo XML in questo modo:

<xmlnode month="JAN"/>

OK, ma ho bisogno di astrarre il nome dell'attributo in modo da poter passare una stringa alla funzione e ottenere il contenuto dell'attributo con il nome corrispondente alla stringa che ho passato. Quindi, ad esempio, se chiamo la funzione come questa funzione (" stone ") restituisce gli elementi [0]. @ Stone. Spero sia chiaro.

Qualcuno sa come fare quello che sto cercando?

Grazie.

È stato utile?

Soluzione

Dovrai usare l'attributo ('stone') piuttosto che @stone, è la stessa cosa, @stone è solo un modo abbreviato di scriverlo.

Altri suggerimenti

Puoi scrivere questo come:

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

non solo, ma se mai vuoi assegnare un valore a un attributo usando una variabile per il nome dell'attributo, puoi farlo (anche se non è documentato) in questo modo:

  public function setAttr(obj:XML, attrName:String, value:String):void{
     obj.@[attrName] = value;
  }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top