骡子中的 xpath3 问题

xpath3 issue in mule

这是我传入的负载。

<?xml version="1.0" encoding="UTF-8"?>
    <detail><ns1:SiperianRequestFault xmlns:ns1="urn:siperian.api">
    <ns1:requestName>SearchQuery</ns1:requestName>
    <ns1:errorCode>SIP-18018</ns1:errorCode>
    <ns1:errorMessage>SIP-18018: Request not recognized by the user profile providers.
Review the server log for more details.</ns1:errorMessage>
</ns1:SiperianRequestFault></detail>

当我查询

xpath3('//detail')

这是输出

SearchQuerySIP-18018SIP-18018: Request not recognized by the user profile providers.Review the server log for more details.

但我想要的是提取errorCode, errorMessage

请使用#[xpath3('/detail/*:SiperianRequestFault/*:errorCode')]获取错误代码。我使用 *: 来定义命名空间通配符。如果你想使用命名空间,你可以将它定义为

<mulexml:namespace-manager includeConfigNamespaces="true">
   <mulexml:namespace prefix="ns1" uri="urn:siperian.api" />
</mulexml:namespace-manager>

那么表达式会像#[xpath3('/detail/ns1:SiperianRequestFault/ns1:errorCode')]

希望对您有所帮助。