Я использую приложение Java на основе Saxon для анализатора XPath. Пожалуйста, обратите внимание на следующее:XPath query: Как обратиться к «текущему узлу» (Java/Saxon)
<import>
<record ref="abc">
<id>123</id>
<data>Value<data>
</record>
<record ref="def">
<parent>123</parent>
<data>Value2</data>
</record>
</import>
Мой случай использования, я циклически звукозаписывающих узлов и нужно искать другой с атрибутом исх равным значению по ребенку родительского узла.
Если текущий узел равен <record ref="def">
, как я могу написать запрос для возврата узла данных в первый узел записи путем сопоставления на /query/record/id/text() = current node/parent/text()
?
Если я выполнить этот запрос:
/import/record[id/text() = '123']/data
Тогда я получаю правильный узел данных, но я не могу в состоянии заменить «123» для значения под родительским узлом?
Я попытался заменить '123' with ./parent/text()
, и, хотя компиляция XPath не возвращается, результаты не возвращаются.
Благодаря,
JB
вправо, так как я могу относиться к текущему узлу (<записи ref = "def">, тот, который я передаю в метод оценки XPath), поэтому я могу использовать значение под родительским? – user267749
Получил!/import/record [id =/import/record [position()]/parent]/data – user267749