如何在Velocity XPath表达式中使用变量?

时间:2016-04-28 05:20:45

标签: xml xpath velocity

如果我在rollnumber[1]

中提供常量“1”
/root/person/rollnumber[1]

XPath评估正常。

但是我想提供一些变量

而不是常数
/root/person/rollnumber[$i]

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

此XPath表达式不起作用。

1 个答案:

答案 0 :(得分:0)

通常的技巧是在托管语言环境中使用字符串格式化或连接来组装XPath。

在Velocity中试试这个:

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

然后使用$xp代替XPath调用中的字符串文字。

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