Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何在Velocity XPath表达式中使用变量?_Xml_Xpath_Velocity - Fatal编程技术网

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的概念。我看到一个例子,上面写着美元可以用。但它不起作用。