Что такое эквивалент Flex/AS3/E4X для этого запроса xpath?
Учитывая этот документ:
<doc>
<element>
<list>
<key attr='val'/>
</list>
</element>
<element>
<list>
<key attr='other'/>
</list>
</element>
<element>
<list/>
</element>
</doc>
Я хочу e4x эквивалент xpath //element[list/key/@attr="val"]
, Возможно ли это сделать?
3 ответа
Решение
xmlVarName.element.list.key.(@attr=="val");
альтернатива
xmlVarName..key.(@attr=="val");
Важно отметить, что
..element.(list.key.@attr == "val")
Может дать сбой, если не все ключевые узлы имеют @attr.
Самый безопасный (хотя по моему опыту, не на 100% успешный) метод для извлечения списка ваших узлов был бы.
..element.(list.key.attribute("attr") == "val")
Тем не менее, у меня были проблемы с e4x и условными выражениями (реализация AS3, Mozilla кажется лучше), но, похоже, дело до источника xml.