Mule 4:XML 模块:如何使用 XPATH 从具有名称空间字段的 XML 消息中检索值?

Mule 4 : XML Module : How to retrieve values from a XML message having fields with namespaces using XPATH?

我有一个示例 xml 文件如下:

<?xml version="1.0"?>

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Body>
  <m:GetPriceResponse xmlns:m="https://www.w3schools.com/prices">
    <m:Price>1.90</m:Price>
  </m:GetPriceResponse>
</soap:Body>

</soap:Envelope>

使用 Mule 4 XMl 模块,我想检索 "Price" 的值。

我正在尝试以下代码:

#[XmlModule::xpath('//soap:Envelope/soap:Body/m:GetPriceResponse/m:Price', payload, {})]

但是它不起作用。有人可以指导我吗?

尝试以下方法:

#[output application/java ---  XmlModule::xpath('//*:Price/text()', payload.^raw, {})[0]]

强烈建议在 Mule 4 中使用纯 DataWeave 代码。请查看以下代码。

%dw 2.0
output application/java
---
payload.Envelope.Body.GetPriceResponse.Price