XPath查询匹配两个节点之间的属性值

时间:2013-08-02 12:39:23

标签: xpath

是否可以创建一个XPath查询,该查询将属性值存储在一个节点的某种变量中,然后在同一查询中使用set变量的值来匹配。

E.g。

具体的查询是:

//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作为变量,它在一个节点上设置并在另一个节点上匹配

1 个答案:

答案 0 :(得分: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]