Question

J'ai une fonction qui a cette ligne:

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

@month est un attribut sur un nœud XML comme suit:

<xmlnode month="JAN"/>

OK, mais je dois résumer le nom de l'attribut pour pouvoir transmettre une chaîne à la fonction et obtenir le contenu de l'attribut avec le nom correspondant à la chaîne que j'ai transmise. Ainsi, par exemple, si j'appelle la fonction comme cette fonction ("stone"), elle renvoie les éléments [0]. @ Stone. J'espère que c'est clair.

Est-ce que quelqu'un sait comment faire ce que je recherche?

Merci.

Était-ce utile?

La solution

Vous voudrez utiliser l'attribut ("pierre") plutôt que @stone, c'est la même chose, @stone n'est qu'un moyen abrégé de l'écrire.

Autres conseils

Vous pouvez l'écrire comme suit:

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

Non seulement cela, mais si vous souhaitez jamais attribuer une valeur à un attribut en utilisant une variable pour le nom de l'attribut, vous pouvez le faire (bien que cela ne soit pas documenté) comme suit:

  public function setAttr(obj:XML, attrName:String, value:String):void{
     obj.@[attrName] = value;
  }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top