如何使用字符串变量访问XML属性的值?如何将其应用于过滤



使用e4x在flex:

var attr : String = "foo";
var xml : XML = 
    <resultSet>
       <node foo="1"/>
    </resultSet>;

如何使用变量"attr"访问

xml.node.@foo 

我想我可以用

xml.node.@[attr]

但这似乎不起作用。如何通过这样的动态值访问该属性?

编辑:

xml.node.@[attr];

xml.node.attribute(attr);

工作,正如康斯坦丁所建议的。

更新:

假设我有一个这样的XMLList:

var bar:XML = 
    <resultSet>
         <node>value</node>
    </resultSet>;

我想通过匹配"foo"属性和"value"来过滤上面的原始xml

我想要原始xml的子列表,这样

xml.node.@foo == bar.value 

中原始值

中的每个XML行

正如Constantiner所提到的,我可以通过foo中的值过滤原始列表,但是如果我想过滤多个值该怎么办呢?

我可以这样做吗:

xml.node.(bar.node.contains(attribute(foo)) ? attribute(foo) : null);

或者用更简洁的方法代替null?

尝试使用xml.node.attribute(attr)

最新更新