var xmlData:XML = XML(<data>
<item>
<type atr="a">AAA</type>
<type atr="b">BBB</type>
</item>
<item>
<type atr="c">CCC</type>
</item>
</data>);
trace(xmlData.item.(type=='AAA')); // does not work
trace(xmlData.item.(type=='CCC')); // works
trace(xmlData.item.type.(@atr=='a').parent()); // works
trace(xmlData.item.type.(@atr=='c').parent()); // works
除非我使用属性,否则当兄弟姐妹出现时,我似乎无法根据其值获取节点。
当存在未知数量的元素时,是否有办法根据值检索项目,而无需手动循环或使用属性?
答案 0 :(得分:1)
我找到了一种方法,主要是随意尝试......
xmlData.item.type.(child(0)=='BBB').parent();
或
xmlData.item.type.(children()=='BBB').parent();
答案 1 :(得分:0)
您可以使用XMLList/contains:
trace(xmlData.item.(type.contains(<type atr="a">AAA</type>)))
// or
trace(xmlData.item.(type.contains("AAA")))