为什么我收到此警告:3594:parent不是动态类XML的公认方法?

时间:2010-01-26 21:00:01

标签: xml flex actionscript-3 e4x

它来自这行代码:

var dropTargetXML:XML = XMLTemplate.template.component.section.question.(@question_questionID == nNode.parent().@question_questionID)[0];

nNode是一个XML节点,作为参数发送给调用它的函数。代码运行,并完成所有预期但编译器发出该警告。我有一些格式问题吗?

P.S。我试过告诉它像这样的XML:

var dropTargetXML:XML = XMLTemplate.template.component.section.question.(@question_questionID == XML(nNode).parent().@question_questionID)[0];

但我仍然收到警告。

1 个答案:

答案 0 :(得分:2)

我不知道它是如何实际实现的,但我猜想XML过滤中的某些东西会在它内部做些什么。一个快速的解决方案是将有问题的代码从过滤范围中拉出来,例如:

var questionIDToFind:String = nNode.parent().@question_questionID;
XMLTemplate.template.component.section.question.(@question_questionID == questionIDToFind)[0];

如果您感到好奇,可以在ECMAScript for XML (E4X) Specification

的第62-63页了解有关过滤运算符的更多信息