使用 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])=="true"]">
</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
希望这对您有所帮助。
我在 Mule 3.7.3 中使用一个选择组件,如果 XML 包含一个名为 user 的节点,它将遵循一个流程。
我在使用不同的语法变体时不断遇到错误。有谁知道我如何测试 XML 是否包含用户节点?
选择代码:
<choice doc:name="Check to send confirmation">
<when expression="#[xpath:boolean(/user/text()[1])=="true"]">
</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
希望这对您有所帮助。