E4X:在表达式中使用字符串作为属性名称?
-
03-07-2019 - |
题
我有一个包含这一行的函数:
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; }
不隶属于 StackOverflow