【发布时间】:2012-02-25 14:56:13
【问题描述】:
我想创建一个需要动态访问 XML 子节点的实用函数。
示例 XML:
var xml:XML =
<root>
<section>
<lt target='foo'/>
<lt target='foo1'/>
<lt target='foo2'/>
</section>
<section1>
<lt target='foo'/>
<lt target='foo1'/>
<lt target='foo2'/>
</section1>
</root>;
我希望能够访问所有“lt”节点,而不管其父节点如何。通常,您会这样做:
var xList:XMLList = xml..lt;
//Output
xList =
<lt target='foo'/>
<lt target='foo1'/>
<lt target='foo2'/>
<lt target='foo'/>
<lt target='foo1'/>
<lt target='foo2'/>
这很好,但是,我需要访问 'lt' 节点而不知道前面的名称。比如……
var nodeName:String = 'lt';
var xList:XMLList = xml..[nodeName]; //<-- Does not work.
我希望在不使用 for 循环的情况下完成这项工作。有什么想法吗?
谢谢,
维克多
【问题讨论】:
-
没关系。我想通了,会把它作为答案,但我不得不等待 8 个小时。但万一其他人在看,语法如下:
var xList:XMLList = new XMLList(xml.descendants(node)); -
啊,你想的差不多。但我认为你也不需要使用
new XMLList。
标签: actionscript-3 apache-flex actionscript e4x