无法在xpath中使用Mule Session变量

时间:2015-03-09 07:16:31

标签: xml xpath mule

我有一个骡子流,其中有效载荷就像,

<Day>
<Sunday>1</Sunday>
<Tuesday>5</Tuesday>
<Thursday>10</Thursday>
<Saturday>15</Saturday>
</Day>

然后我根据它的日期设置一个会话变量,

<set-session-variable variableName="SelectedDay" value="Sunday" doc:name="Save Day "/>

现在我需要使用此会话变量来获取节点内的值&#39; Sunday&#39;,即1。

我在想像

 #[xpath://(sessionVars['SelectedDay'])]

SelectedDay的值可以是其他任何一天,具体取决于其他因素。

我似乎无法使xpath表达式工作,并且流程正在返回此异常。

无法评估XPath表达式:&#34;#[xpath://(sessionVars [&#39; SelectedDay&#39;])](org.mule.api.MuleRuntimeException)   org.mule.module.xml.expression.AbstractXPathExpressionEvaluator:144(http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MuleRuntimeException.html

帮助感谢。

2 个答案:

答案 0 :(得分:0)

请尝试使用#[xpath://(#[sessionVars['SelectedDay']])]并查看其是否有效

如果没有,那么您也可以尝试#[xpath://(#[sessionVars.SelectedDay])]

答案 1 :(得分:0)

使用xpath,表达式为:

#[xpath('//Day/' + sessionVars.SelectedDay).text]

使用xpath3,表达式为:

#[xpath3('//Day/' + sessionVars.SelectedDay)]