xpath find node that does not contain child

Ben K. picture Ben K. · Mar 28, 2011 · Viewed 28.7k times · Source

I'm trying to create some xpath that will find all a tags that do not contain img tags, so that something such as

<a href="http://aol.com">link</a>

matches, but

<a href="http://yahoo.com"><img src="http://yahoo.com/logo.png"></a>

does not.

Of course I could do this in a two-part search but I'm sure there must be some way to do this with xpath.

Answer

AakashM picture AakashM · Mar 28, 2011
//a[not(img)]

Try and avoid the // if you can, though. Also note this will only exclude as that directly contain imgs.