Xml 如何在Velocity XPath表达式中使用变量?
如果我在Xml 如何在Velocity XPath表达式中使用变量?,xml,xpath,velocity,Xml,Xpath,Velocity,如果我在rollnumber[1] /root/person/rollnumber[1] XPath的计算结果很好 但是我想提供一些变量,而不是常量 /root/person/rollnumber[$i] 其中,$i可以是任何整数 此XPath表达式不起作用。通常的技巧是在宿主语言环境中使用字符串格式或串联来组装XPath 在速度方面试试这个: #set($xp = "/root/person/rollnumber[${i}]") 然后在XPath调用中使用$xp代替字符串文本 另请参阅,
rollnumber[1]
/root/person/rollnumber[1]
XPath的计算结果很好
但是我想提供一些变量,而不是常量
/root/person/rollnumber[$i]
其中,$i
可以是任何整数
此XPath表达式不起作用。通常的技巧是在宿主语言环境中使用字符串格式或串联来组装XPath 在速度方面试试这个:
#set($xp = "/root/person/rollnumber[${i}]")
然后在XPath调用中使用$xp
代替字符串文本
另请参阅,了解如何在其他宿主语言中执行此操作。通常的技巧是在宿主语言环境中使用字符串格式或连接来组装XPath 在速度方面试试这个:
#set($xp = "/root/person/rollnumber[${i}]")
然后在XPath调用中使用$xp
代替字符串文本
有关如何在其他宿主语言中执行此操作,请参见。如何/在何处设置
$i
?我正在velocity tempalte中编写此xpath。所以,我可以设置它#set($i=1),因为$i
是velocity模板的变量,我强烈怀疑这是velocity特有的问题。XPath1.0本身没有$
变量的概念是的,您是对的。xpath似乎没有$variable的概念。我看到一个例子,上面写着美元可以用。但是它不起作用。您是如何/在哪里设置$i
的值的?我正在velocity tempalte中编写此xpath。所以,我可以设置它#set($i=1),因为$i
是velocity模板的变量,我强烈怀疑这是velocity特有的问题。XPath1.0本身没有$
变量的概念是的,您是对的。xpath似乎没有$variable的概念。我看到一个例子,上面写着美元可以用。但它不起作用。