Используйте
//node()[not(node())]
Если требуется только элемент конечные узлы (и это требует пояснения - считаются ли элементы, у которых неэлементные дочерние элементы, конечными узлами?), То следующее выражение XPath выбирает их:
//*[not(*)]
Оба приведенных выше выражения, вероятно, являются самыми короткими , которые выбирают нужные узлы (любой узел или элемент - листовые узлы).