0

是否可以创建一个 XPath 查询,它将属性值存储到一个节点的某种变量中,然后在同一查询中使用设置变量的值进行匹配。

例如

一个特定的查询是:

//div[@id='1' and @name='foo']/..//input[@type='text' and @id='foo']

一般情况是:

//div[@id='1' and $var=@name]/..//input[@type='text' and @id=$var]

本质上我想使用 $var 作为一个变量,它设置在一个节点并在另一个节点匹配

4

1 回答 1

1

您可以在 XPath 2 中执行以下操作:

//div[@id='1']/for $var in @name return ..//input[@type='text' and @id=$var]

或者在 XPath 3 和 XQuery 中更好:

//div[@id='1']/let $var := @name return ..//input[@type='text' and @id=$var]
于 2013-08-02T13:19:58.863 回答