使用 Mule 中的 Choice 检查节点是否存在于 XML

Check node exists in XML using a Choice in Mule

我在 Mule 3.7.3 中使用一个选择组件,如果 XML 包含一个名为 user 的节点,它将遵循一个流程。

我在使用不同的语法变体时不断遇到错误。有谁知道我如何测试 XML 是否包含用户节点?

选择代码:

<choice doc:name="Check to send confirmation">
    <when expression="#[xpath:boolean(/user/text()[1])==&quot;true&quot;]">
    </when>
    <otherwise>
        <logger message="#['Error creating user - Confirmation not sent']" level="INFO" doc:name="Logger"/>
    </otherwise>
</choice>

谢谢

您可以使用此表达式 #[xpath3('//*:user',payload,"NODE") != null] 如果节点存在而不考虑空节点,这将 return true 如果节点不存在则 false。如果要检查节点值,请使用 #[xpath3('//*:user',payload,"STIRNG")]

更多详情请参考这里

https://docs.mulesoft.com/mule-user-guide/v/3.7/xpath#return-type-string-optional

希望这对您有所帮助。