在Mule ESB中使用条件XPath

凯蒂希

我的输入XML是

<DatabaseValues>
<Value>
    <Sender>Satya</Sender>
    <WB_TRANSFORMATION>1</WB_TRANSFORMATION>
    <WB_VALIDATION>0</WB_VALIDATION>
    <WB_ENRICHMENT>0</WB_ENRICHMENT>
    <Receiver>Ch</Receiver>
</Value>
<Value>
    <Sender>Keerthika</Sender>
    <WB_TRANSFORMATION>1</WB_TRANSFORMATION>
    <WB_VALIDATION>0</WB_VALIDATION>
    <WB_ENRICHMENT>0</WB_ENRICHMENT>
    <Receiver>SS</Receiver>
</Value>

我的要求是<Receiver>根据相应的<Sender>提取值。(例如,当发件人值为“ Satya”时,我需要提取“ Ch”)。这应该使用xpath表达式来实现。

我尝试了以下

<set-variable variableName="satya" value="#[xpath3('/DatabaseValues/Value[1]/Sender')]" doc:name="Variable"/>

然后我做到了

 #[xpath3('/DatabaseValues/Value[Sender="flowVars.satya"]/Receiver')]

没有价值被提取。但是当我使用以下逻辑时,它起作用了

 #[xpath3('/DatabaseValues/Value[Sender="Satya"]/Receiver')]

我的流程配置如下

<file:connector name="File" autoDelete="true" streaming="false" validateConnections="true" doc:name="File"/>
<flow name="Sender_TransformationFlow">
    <file:inbound-endpoint path="C:\Users\Satyakeerthika_Ch\Desktop\Input" connector-ref="File" responseTimeout="10000" doc:name="File"/>
    <set-variable variableName="satya" value="#[xpath3('/DatabaseValues/Value[1]/Sender')]" doc:name="Variable"/>
    <set-variable variableName="xpath" value="#[xpath3('/DatabaseValues/Value[Sender= &quot;+ flowVars.satya +&quot;]/Receiver')]" doc:name="Variable"/>
    <logger message="#[flowVars.xpath]" level="INFO" doc:name="Logger"/>
    <logger message="#[flowVars.satya]" level="INFO" doc:name="Logger"/>
</flow>

我想知道如何使用flowVars而不是Xpath中的硬编码值进行检查。
我正在使用Anypoint Studio版本5.1.0

达沃编码器

要从xpath3函数访问流变量,应使用不带“ flowVars”的“ $

看一下文档

https://docs.mulesoft.com/mule-user-guide/v/3.7/xpath#query-parameters

在您的示例中:

<set-variable variableName="xpath" value="#[xpath3('/DatabaseValues/Value[Sender=$satya]/Receiver')]" doc:name="Variable"/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Mule esb中使用xpath3表达式替换值

来自分类Dev

Mule ESB:如何在DataMapper中使用规则进行条件检查

来自分类Dev

Mule ESB许可-在集成产品中使用Mule ESB社区运行时

来自分类Dev

无法在xpath中使用Mule Session变量

来自分类Dev

使用Mule ESB创建API

来自分类Dev

使用Mule esb发布JSON

来自分类Dev

在Mule Studio中使用Mule Requester模块

来自分类Dev

Mule ESB无法触发选择“何时”条件

来自分类Dev

Mule ESB与Spring Integration

来自分类Dev

Mule ESB:问题

来自分类Dev

在Mule应用中使用参数

来自分类Dev

在Mule中使用XML Transformer

来自分类Dev

Mule ESB:是否可以启动2个Mule ESB实例

来自分类Dev

AngularJS中的Mule ESB集成

来自分类Dev

MULE ESB中的REST调用

来自分类Dev

如何在Mule 3.4 ESB中使用Datamapper在数据库中映射Excel文件

来自分类Dev

如何在Mule ESB中使用拆分器从流中拆分消息

来自分类Dev

如何在Mule ESB中使用Drools时动态替换.drl文件?

来自分类Dev

MULE Studio和MULE ESB有什么区别?

来自分类Dev

MULE Studio和MULE ESB有什么区别?

来自分类Dev

Mule:Mule ESB 3.5.1是稳定版还是Beta版?

来自分类Dev

Mule ESB DataMapper:条件到字段类型的字段聚合

来自分类Dev

XPath在Mule Anypoint Studio中

来自分类Dev

如何使用Mule流在Mule ESB中设计SOAP / WSDL Web服务?

来自分类Dev

Mule ESB APIKit REST DELETE方法-是否可以强制Mule使用JSON正文而不是URI?

来自分类Dev

MULE:如何在MEL中使用CDATA

来自分类Dev

在Mule中使用Choice Router的利弊

来自分类Dev

在集群环境中使用Quartz和Mule

来自分类Dev

MULE:如何在MEL中使用CDATA