我有这个xml
var testXML:XML = <family>
<father name1="tom" age="5" ><father1 name1="test1"/><father2 name1="test2"/></father>
<mother name1="tomylee" age="55" ><mother1/><mother2/></mother>
<sister name1="sister1" age="35" ><sister1/><sister2/></sister>
</family>;
我想获取name1 = test1的子节点,但我只知道family
所以有像
这样的东西trace (testXML.children(@name1="test1");
我只知道家庭节点,我不知道该节点在父亲内部的位置
是否可以在根节点上应用任何过滤器来查找内容
答案 0 :(得分:2)
使用 hasOwnProperty 和一些逻辑运算符
trace( testXML..*.( hasOwnProperty("@name1") && @name1 == "tom" ));
trace( testXML..*.( hasOwnProperty("@name1") && @name1 == "test1" ));
我修改了你的XML以至少显示结果
var testXML:XML = <family>
<father name1="tom" age="5" ><father1 name1="test1">father1</father1><father2 name1="test2"/></father>
<mother name1="tomylee" age="55" ><mother1/><mother2/></mother>
<sister name1="sister1" age="35" ><sister1/><sister2/></sister>
</family>;
追踪证明
<father name1="tom" age="5">
<father1 name1="test1">father1</father1>
<father2 name1="test2"/>
</father>
更新: -----此处 - &gt; 。* &lt; - 是获取testXML中所有项目的通配符