Pregunta

Tengo una función que tiene esta línea:

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

@month es un atributo en un nodo XML así:

<xmlnode month="JAN"/>

Está bien, pero debo abstraer el nombre del atributo para poder pasar una cadena a la función y obtener el contenido del atributo con el nombre que coincida con la cadena que pasé. Así, por ejemplo, si llamo a la función como esta función (" piedra "), devuelve los elementos [0]. @ Piedra. Espero que esto quede claro.

¿Alguien sabe cómo hacer lo que busco?

Gracias.

¿Fue útil?

Solución

Querrás usar el atributo ('piedra') en lugar de @stone, es lo mismo, @stone es solo una forma abreviada de escribirlo.

Otros consejos

Puedes escribir esto como:

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

no solo eso, sino que si alguna vez desea asignar un valor a un atributo utilizando una variable para el nombre del atributo, puede hacerlo (aunque no está documentado) así:

  public function setAttr(obj:XML, attrName:String, value:String):void{
     obj.@[attrName] = value;
  }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top