[Это слишком долго для комментария, поэтому ...]
Переформатирование начала XML:
<TextWithNodes>
<Node id="0" />
astralis<Node id="8" />
<Node id="9" />
ltd
<Node id="12" />
< Node id="14" />
{
<Node id="15" />
DOCUMENT
<Node id="23" />
}
<Node id="24" />
<Node id="25" />
{
<Node id="26" />
TYPE
<Node id="30" />
показывает, что узел элементов Node
не имеет содержимого; скорее содержание находится между элементами. Поэтому, когда вы говорите:
выбрать узел от Id 25 до id 75
Вам нужны только элементы Node
или все родственные узлы XML DOM - как элементы, так и текст - между двумя идентифицированными элементами Node
, или только элементы Node
?
Ответ : XPath благодаря этому ответу :
/TextWithNodes/node()[preceding-sibling::Node[@id=25] and following-sibling::Node[@id=75]]
, который использует пустой набор узлов, являющийся ложным: узлы до id="25"
будут иметь пустой набор preceding-sibling::...
, аналогично для узлов после id="75"
.