XPath: выберите дочерние элементы, которые * не * имеют определенное имя - PullRequest
57 голосов
/ 28 января 2010
<a>
   <b/>
   <c/>
   <d/>
   <b/>
   <e/>
</a>

Как выбрать тех детей "a", которые не являются "b"?

Ответы [ 3 ]

90 голосов
/ 28 января 2010

/a/*[not(self::b)]

13 голосов
/ 28 января 2010

С XPath 2.0 вы даже можете сделать

/a/(* except b)
3 голосов
/ 28 января 2010

Xpath будет выглядеть:

a/*[name(.) !='b']

Итак, выберите потомков 'a', имя которых не равно 'b'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...