Вы можете использовать это:
//entity[@id=212323]/child::*[not(boolean(child::*))]
для выбора только тех узлов, которые не имеют дочерних элементов. Если это недостаточно хорошо, и вы ожидаете также такие случаи, как:
<entity id=212323>
<this>asd</this>
<this>asd</this>
<this>asd</this>
<this>
text node 1
<notThis>asd</notThis>
<notThis>asd</notThis>
<notThis>asd</notThis>
text node 2
</this>
</entity>
Тебе следует провести еще какое-то исследование. В этом примере text node 1
и text node 2
считаются дочерними элементами <this>
элемента. Вам нужно выяснить (я не уверен, если это возможно), как отличить эти два узла от других (например, <notThis>asd</notThis>
) в вашем выражении xPath.