я получил следующий структурированный XML-файл:выражения XPath для выбора узлов между определенной последовательностью предшествующим и последующим узлов
<w:document>
<w:body>
<w:p>
<w:r>
<w:t/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:instrText/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:instrText/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t/>
</w:r>
</w:p>
</w:body>
</w:document>
и я отчаянно пытаюсь найти XPath выражения, чтобы выбрать все <w:t>
Узлы, которые находятся между двумя узлами <w:instrText>
. <w:t>
узлы в основном появляются свободно вокруг XML-документа, но меня интересуют только те, которые находятся между двумя узлами <w:instrText>
.
Любая помощь очень ценится.
Вы образец документа недействительно. Для элементов 't' и' x' нет закрывающих тегов. Или все это должны быть самодостаточные теги: ' '? Пожалуйста, исправьте, чтобы мы могли дать содержательные ответы. –
Хорошо, извините, позвольте мне изменить свой вопрос и предоставить реальную структуру. – naacal
Как это OpenXml, разве вы не должны смотреть на ' ', ' ' и ' 'elements? Предполагаю, вы хотите извлечь текст в поле? Это довольно сложно сделать в XPath, потому что поля могут быть не только разделены на несколько прогонов/абзацев/etc, но также могут быть вложенными (канонический пример будет полями гиперссылок внутри поля TOC). –