【发布时间】:2010-09-07 10:22:23
【问题描述】:
我正在为 XPath 解析器使用基于 Saxon 的 Java 应用程序。请考虑以下几点:
<import>
<record ref="abc">
<id>123</id>
<data>Value<data>
</record>
<record ref="def">
<parent>123</parent>
<data>Value2</data>
</record>
</import>
我的用例是,我正在遍历记录节点,需要查找另一个属性 ref 等于子父节点下的值的节点。
如果当前节点是<record ref="def">,如何编写查询以通过匹配/query/record/id/text() = current node/parent/text()返回第一个记录节点内的数据节点?
如果我执行这个查询:
/import/record[id/text() = '123']/data
然后我得到了正确的数据节点,但我似乎无法将“123”替换为父节点下的值?
我尝试替换 '123' with ./parent/text(),当 XPath 编译时,没有返回任何结果。
谢谢,
JB
【问题讨论】: