Допустим, у меня есть следующий xml:
<one>
<two>
<three>
<three>
foo
</three>
<four />
<three>
bar
<four />
</three>
</three>
</two>
</one>
Какой запрос XPath я могу написать, который будет возвращать только эти узлы:
<three>
foo
</three>
и
<three>
bar
<four />
</three>
но не этот:
<three>
<three>
foo
</three>
<four />
<three>
bar
<four />
</three>
</three>
Я пробовал это:
//three/descendant-or-self::*/text()/ancestor::three
но он возвращает тот, который мне не нужен.Я также не могу предположить, что это точная структура xml, поэтому я не думаю, что оператор .. будет работать.По сути, я хочу, чтобы младший предок текстовых узлов имел тип three
.
Есть предложения?