我有一个包含这一行的函数:

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

@month是XML节点上的一个属性,如下所示:

<xmlnode month="JAN"/>

好的,但是我需要抽象属性名称,这样我就可以将一个字符串传递给函数,并获取属性的内容,其名称与我传递的字符串相匹配。因此,例如,如果我像这个函数一样调用函数(“stone”),它返回项[0]。@ stone。我希望这很清楚。

有谁知道我该怎么做?

感谢。

有帮助吗?

解决方案

你想要使用属性('stone')而不是@stone,它同样的东西,@ stone只是写它的简写方式。

其他提示

您可以将其写为:

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

不仅如此,如果你想使用属性名称的变量为属性赋值,你可以这样做(尽管没有记录),如下所示:

  public function setAttr(obj:XML, attrName:String, value:String):void{
     obj.@[attrName] = value;
  }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top