Выберите список уникальных элементов из списка узлов, используя XPATH - PullRequest
6 голосов
/ 20 мая 2011

Возможно ли в XPATH выбрать список уникальных элементов из узла, где их много?

<Deserts>
 <Desert Code="C1">Popsicle<Desert>
 <Desert Code="H2">Ice Cream<Desert>
 <Desert Code="C1">Popsicle<Desert>
 <Desert Code="T1">Cheese Cake<Desert>
</Deserts>

В этом примере я хочу, чтобы в результирующем списке было только 3 узла (эскимо / мороженое / сырный пирог).

Как я могу выбрать такой список с помощью Xpath?

Ответы [ 2 ]

4 голосов
/ 20 мая 2011

Попробуйте следующий xpath:

/Deserts/Desert[not(@Code=preceding-sibling::Desert/@Code)]

Он вернет различные пустыни, проверив атрибут кода пустыни.

2 голосов
/ 22 мая 2011

Решение XPath 2.0 :

(/*/*/@Code)[index-of(/*/*/@Code,.)[1]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...