【问题标题】:Not able to use Mule Session variable in xpath无法在 xpath 中使用 Mule Session 变量
【发布时间】:2015-03-09 07:16:30
【问题描述】:

我有一个 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 "/>

现在我需要使用这个会话变量来获取节点“星期日”内的值,即 1。

我在想类似的东西

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

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

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

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

帮助表示赞赏。

【问题讨论】:

    标签: xml xpath mule


    【解决方案1】:

    使用xpath,表达式为:

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

    使用xpath3,表达式为:

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

    【讨论】:

    • 很好。如果它有效,那么您可以标记为正确答案。
    【解决方案2】:

    请尝试#[xpath://(#[sessionVars['SelectedDay']])] 看看是否有效

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多