XPath: выберите дочерние элементы, которые не имеют определенного имени


<a>
   <b/>
   <c/>
   <d/>
   <b/>
   <e/>
</a>

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

3 53

3 ответа:

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

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

/a/(* except b)

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

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

Итак, выберите дочерние элементы 'a', имя которых не равно 'b'