Использование :
/*/*/*[7]/text()
Если вы правильно зарегистрировали пространства имен с помощью API вашего движка XPath, вы можете использовать:
/w:document/w:body/w:p[7]/text()
Примечание:
Имейте в виду, что существуют проблемы с использованием оператора []
вместе с псевдооператором //
: в этом конкретном простом случае выражение
//w:p[7]
выбираеттребуемый элемент, однако обычно он выбирает каждый w:p
элемент, который является седьмым (в порядке документа) w:p
дочерним по отношению к его родительскому элементу .
Таким образом, при оценкеэтот документ :
<w:document xmlns:w="w:w">
<w:body>
<a>
<w:p>para1</w:p>
<w:p>para2</w:p>
<w:p>para3</w:p>
</a>
<b>
<w:p>para4</w:p>
<w:p>para5</w:p>
<w:p>para6</w:p>
<w:p>para7</w:p>
<w:p>para8</w:p>
<w:p>para9</w:p>
</b>
<w:p>para10</w:p>
</w:body>
</w:document>
выражение //w:p[7]
ничего не выбирает .
Однако при оценке этого документа :
<w:document xmlns:w="w:w">
<w:body>
<a>
<w:p>para1</w:p>
<w:p>para2</w:p>
<w:p>para3</w:p>
<w:p>para4</w:p>
<w:p>para5</w:p>
<w:p>para6</w:p>
<w:p>para7</w:p>
<w:p>para8</w:p>
</a>
<b>
<w:p>para9</w:p>
<w:p>para10</w:p>
<w:p>para11</w:p>
<w:p>para12</w:p>
<w:p>para13</w:p>
<w:p>para14</w:p>
<w:p>para15</w:p>
</b>
</w:body>
</w:document>
то же выражение выбирает :
<w:p xmlns:w="w:w">para7</w:p>
<w:p xmlns:w="w:w">para15</w:p>