在as3中的多级xml中查找匹配节点
我有一个多级节点结构,看起来像这样在as3中的多级xml中查找匹配节点,xml,actionscript-3,Xml,Actionscript 3,我有一个多级节点结构,看起来像这样 <node> <node> <node id="a1"></node> <node id="a2"></node> </node> <node> <node id="b1"></node> <node id="b2"></node>
<node>
<node>
<node id="a1"></node>
<node id="a2"></node>
</node>
<node>
<node id="b1"></node>
<node id="b2"></node>
</node>
<node>
但它似乎不适用于多个嵌套级别。有没有一种方法可以在不循环和归档内容的情况下找到节点?虽然我不完全了解您的情况,但您是否尝试过使用?使用
子体()
或E4X操作符。
var测试:XML=
;
var搜索:xmlslist;
搜索=测试。子体(“节点”)(属性(“id”)=“b4”);
跟踪(search.toXMLString());
//或
搜索=测试..节点。(@id==“b4”);
跟踪(search.toXMLString());
注意:小心使用@id
符号。如果任何节点不包含“id”属性,它将为您提供一个引用错误异常
xmldata.*.(@id == "a2")[0]
var test:XML =
<node>
<node id="b1"></node>
<node id="b2"></node>
<smth>
<node id="b3">
<smth>
<node id="b4"></node>
</smth>
</node>
</smth>
</node>;
var search:XMLList;
search = test.descendants("node").(attribute("id") == "b4");
trace(search.toXMLString());
// OR
search = test..node.(@id == "b4");
trace(search.toXMLString());