AS3 XML过滤

时间:2009-09-03 13:57:18

标签: xml actionscript-3 filtering

这是一个XML:

<nodes>
     <node id="0" a="hello" b="this"/>
     <node id="1" c="is" d="a" e="test"/>
</nodes>

有没有办法,使用E4X过滤来查找具有“this”属性值的节点?

2 个答案:

答案 0 :(得分:3)

你可以尝试这样的事情:

xml.node.( find(attributes(), "this") );
function find(atts:XMLList, value:String):Boolean {
    for each(var a in atts) if(a==value) return true;
    return false;
}

但我个人认为组装新XMLList的简单循环更容易理解,因此更好的代码实践......复杂的E4X和RegEx非常难以理解,并且当它们没有比更简单的解决方案(即循环),我认为不应该使用它们......

答案 1 :(得分:0)

myXML.node.(@b == "this")

上述应该有效,但如果你的意思是任何属性,那么我认为你自己已经看过了。虽然你可以用正则表达式来做。