web-dev-qa-db-ja.com

XPath:特定の名前を*持たない*子要素を選択する

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

「b」ではない「a」の子を選択するにはどうすればよいですか?

57
Thomas

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

90
AakashM

XPath 2.0を使用すれば

/a/(* except b)
13
Martin Honnen

Xpathは次のようになります。

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

そのため、名前が「b」ではない「a」の子を選択します

3
Dewfy