Что такое эквивалент Flex / AS3 / E4X для этого запроса xpath? - PullRequest
4 голосов
/ 15 января 2010

Учитывая этот документ:

<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 ]

2 голосов
/ 18 января 2010
..element.(list.key.@attr == "val")
2 голосов
/ 15 января 2010
xmlVarName.element.list.key.(@attr=="val");

альтернатива

xmlVarName..key.(@attr=="val");
1 голос
/ 02 мая 2010

Важно отметить, что

..element.(list.key.@attr == "val")

Может произойти сбой, если все узлы key не имеют @attr.

Самый безопасный (хотя по моему опыту, не на 100% успешный) метод для извлечения вашего списка узлов был бы.

..element.(list.key.attribute("attr") == "val")

Однако у меня были проблемы с e4x и условными выражениями (реализация AS3, Mozilla кажется лучше), но, похоже, дело до источника xml.

...