2016-04-28 53 views
1

如果我在rollnumber[1]如何在Velocity XPath表达式中使用变量?

/root/person/rollnumber[1] 

的XPath提供恒定的 “1” 计算罚款。

但不是恒定的,我想提供一些变量

/root/person/rollnumber[$i] 

其中$i可以是任意整数。

此XPath表达式不起作用。

+0

如何/您在哪里设置了“$ i”的值? – har07

+0

我正在写速度tempalte这个xpath。所以,我可以设置#set($ i = 1) – ankit

+0

由于'$ i'是速度模板的变量,我强烈怀疑这是速度特定的问题。 XPath 1.0本身没有'$'变量的概念 – har07

回答

0

通常的技巧是在宿主语言环境中使用字符串格式化或串联来组装XPath。

试试这个在速度:

#set($xp = "/root/person/rollnumber[${i}]") 

到位串在你的XPath通话字面然后使用$xp

另请参阅How to pass parameter into XPath expression in Xpath 1.0了解如何在其他托管语言中执行此操作。