这将通过一个例子得到最好的说明:
我正在寻找一个主要前缀名称,其祖先在名称中包含SEARCH_KEY,这很有效。
//PrimaryExpression/PrimaryPrefix/Name [
ancestor::MethodDeclaration//Something/Something[contains(@Image,'SEARCH_KEY')]
]
现在有没有办法让SEARCH_KEY成为Name元素的Image属性?
答案 0 :(得分:2)
在XPath 1.0中,无法定义和引用范围变量。
在XPath 2.0中,可以使用for
expression这样的:
//PrimaryExpression
/PrimaryPrefix
/Name
[for $key in @someNameAttrib
return
ancestor::MethodDeclaration
//Something/Something
[contains(@Image, $key)]
]