我有一个包含这一行的函数:
var returnString:String = items[0].@month;
@month是XML节点上的一个属性,如下所示:
<xmlnode month="JAN"/>
好的,但是我需要抽象属性名称,这样我就可以将一个字符串传递给函数,并获取属性的内容,其名称与我传递的字符串相匹配。所以例如,如果我像这个函数(“stone”)一样调用函数,它返回项[0]。@ stone。我希望这很清楚。
有谁知道我该怎么做?
感谢。
答案 0 :(得分:6)
你想要使用属性('stone')而不是@stone,它同样的东西,@ stone只是写它的简写方式。
答案 1 :(得分:2)
您可以将其写为:
var attrName:String = "month";
return items[0].@[ attrName ];
答案 2 :(得分:2)
不仅如此,如果你想使用属性名称的变量为属性赋值,你可以这样做(尽管没有记录),如下所示:
public function setAttr(obj:XML, attrName:String, value:String):void{ obj.@[attrName] = value; }