问题描述
|
var myXML:XML = <root>
<first>
<a title = \"First Letter\">
01234
</a>
<b title = \"Second Letter\">
56789
</b>
</first>
</root>
我想遍历以上XML仅搜索属性。我不知道<first>
或其子级(<a>
和<b>
),甚至不知道包含属性的元素位于哪一级(XML可能比我的示例深得多)。
似乎后代访问器无法根据其属性查找元素。例如,我想遍历XML并找到具有属性“第二个字母”的元素。
trace(myXML..(@title == \"Second Letter\"));
是否无法从根遍历XML并通过属性定位元素?
解决方法
搜索任何具有属性
title
的节点,在这里您不能使用e4x @title表示法,因为并非所有节点都具有属性标题,因此您将得到编译时错误:
trace(myXML..*.(attribute(\"title\")==\"Second Letter\"))