How to select all leaf nodes using XPath expression?

Use:

//node()[not(node())]

In case only element leaf nodes are wanted (and this needs clarification — are elements that have non-element children considered leaf nodes?), then the following XPath expression selects them:

//*[not(*)]

Both expressions above are probably the shortest that select the desired nodes (either any-node or element — leaf nodes).

Leave a Comment