Выбрать элемент, содержащий другой элемент со значением атрибута в E4X

<root>
 <function name="lala">
  <metadata name="foo" />
 </function>
 <function />
 ...
</root>

Как в XML-дереве выше, как я могу выбрать тот (или первый) function, содержащий metadata, где @name является "foo" в выражении ActionScript 3 E4X?

Я пробовал, но не работает:

// should trace "lala", traces "" 
trace(root.function.(contains(metadata.(@name=="foo"))).@name);

person Bart van Heukelom    schedule 23.05.2011    source источник


Ответы (1)


Это работает, но немного некрасиво

trace(XML(root.function.metadata.(@name=="foo")).parent().@name);
person Bart van Heukelom    schedule 23.05.2011