是否有其他方法可以过滤没有E4X语法的xml元素?

问题描述 投票:0回答:1

我正在尝试使用Jangaroo将一些旧的动作脚本代码(Flash应用程序的一部分)编译为JS。 Jangaroo不支持E4X语法,并且在双点运算符..或方括号过滤器a.(CONDITION)之类的情况下失败。因此,我需要使用普通的ActionScript重写代码的那些部分。

对于双点运算符,我使用了descendants()方法,但找不到写方括号过滤器的替代方法。

这是我原来的代码:

B = xml..destination.(@id == someId)

我现在写的是:

B = xml.descendants("destination").(@id == someId)

但是我仍然想删除.(@id == someId)

我在想类似的东西:

if (xml.descendants("destination").attribute("id") == someId)
{
B = xml.descendants("destination")
}

这可能吗?

actionscript-3 actionscript e4x
1个回答
0
投票

所以这就是我继续的方式。我尚未测试其功能,但编译器通过了它。

var destinations:XMLList = null;
for each (var elm in xml.descendants("destination") )
{
 if ( elm.attribute("id") == someId )
 {
    destinations += elm;
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.