如何在 mule 中检查 NaN
How to check NaN in mule
如何在 mule 中使用 xpath3 检查 NaN 值。
我尝试这样做但结果不正确
#[xpath3('total',payload,'NUMBER')!='NaN'?xpath3('total',payload,'NUMBER'):0]
但不工作
如何检查 mule 中的 NaN 值?
尝试使用是或的实例,例如#[xpath3('total',payload,'NUMBER') is java.lang.Number ? xpath3('total',payload,'NUMBER') : 0]
基于进一步测试,使用以下示例:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<total>100</total>
</data>
我们可以利用isNaN()方法,因为有效载荷是java.lang.Double。因此我们可以使用以下 MEL:#[xpath3('//total',payload,'NUMBER').isNaN() ? 0 : xpath3('//total',payload,'NUMBER')]
可以通过以下简单流程进行测试:
<flow name="simpleFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
<logger message="#[xpath3('//total',payload,'NUMBER').isNaN() ? 0 : xpath3('//total',payload,'NUMBER')]" level="INFO" doc:name="Logger"/>
</flow>
将 total 字段的值更改为非数字以用于测试目的,例如:<data><total>hundred</total></data>
如何在 mule 中使用 xpath3 检查 NaN 值。
我尝试这样做但结果不正确
#[xpath3('total',payload,'NUMBER')!='NaN'?xpath3('total',payload,'NUMBER'):0]
但不工作
如何检查 mule 中的 NaN 值?
尝试使用是或的实例,例如#[xpath3('total',payload,'NUMBER') is java.lang.Number ? xpath3('total',payload,'NUMBER') : 0]
基于进一步测试,使用以下示例:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<total>100</total>
</data>
我们可以利用isNaN()方法,因为有效载荷是java.lang.Double。因此我们可以使用以下 MEL:#[xpath3('//total',payload,'NUMBER').isNaN() ? 0 : xpath3('//total',payload,'NUMBER')]
可以通过以下简单流程进行测试:
<flow name="simpleFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
<logger message="#[xpath3('//total',payload,'NUMBER').isNaN() ? 0 : xpath3('//total',payload,'NUMBER')]" level="INFO" doc:name="Logger"/>
</flow>
将 total 字段的值更改为非数字以用于测试目的,例如:<data><total>hundred</total></data>