使用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)