2016-04-28 50 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瞭解如何在其他託管語言中執行此操作。