如何用 mule 中的另一个值替换 xml 元素的数据?
How to replace data of an xml element with another value in mule?
如何用 mule 中的另一个值替换 xml 元素的数据?
例如
<users>
<user>
<name>abc</name>
<city>qwe</city>
<countryCode>india</countryCode>
</user>
<user>
<name>yiu</name>
<city>cdc</city>
<countryCode>france</countryCode>
</user>
<user>
<name>wddq</name>
<city>dqdqw</city>
<countryCode>brazil</countryCode>
</user>
我想将 countryCode
VALUES 替换为预定义值,例如我想将 IN 用于印度,BA 用于巴西,FC 用于法国。
在 mule 中最好的方法是什么。现在我正在尝试使用属性文件中的这个值。
我想你有两个选择:
- 如果您需要对 XML 执行其他更改,那么我建议使用 DataWeave(如果您使用旧版本的 Mule,则使用 DataMapper)进行转换。
- 如果您真的只需要替换这些值,那么我认为合乎逻辑的方法是 XSLT 转换。
您可以使用 XSLT transformer 进行 XSLT 转换,但您需要编写自己的转换 XML,没有图形帮助,但并不难。
这个 answer 应该会给您一些关于在 XSLT 中替换值的提示。
我可以简单地使用 属性 文件来做到这一点,我可以将我的预定义定义放入一个国家列表 -> 国家代码映射下面是一个数据编织代码片段。
%dw 1.0
%output application/xml
---
{
countryCodeReplacements : p(payload.users.*user.countryCode)
}
如何用 mule 中的另一个值替换 xml 元素的数据? 例如
<users>
<user>
<name>abc</name>
<city>qwe</city>
<countryCode>india</countryCode>
</user>
<user>
<name>yiu</name>
<city>cdc</city>
<countryCode>france</countryCode>
</user>
<user>
<name>wddq</name>
<city>dqdqw</city>
<countryCode>brazil</countryCode>
</user>
我想将 countryCode
VALUES 替换为预定义值,例如我想将 IN 用于印度,BA 用于巴西,FC 用于法国。
在 mule 中最好的方法是什么。现在我正在尝试使用属性文件中的这个值。
我想你有两个选择:
- 如果您需要对 XML 执行其他更改,那么我建议使用 DataWeave(如果您使用旧版本的 Mule,则使用 DataMapper)进行转换。
- 如果您真的只需要替换这些值,那么我认为合乎逻辑的方法是 XSLT 转换。
您可以使用 XSLT transformer 进行 XSLT 转换,但您需要编写自己的转换 XML,没有图形帮助,但并不难。
这个 answer 应该会给您一些关于在 XSLT 中替换值的提示。
我可以简单地使用 属性 文件来做到这一点,我可以将我的预定义定义放入一个国家列表 -> 国家代码映射下面是一个数据编织代码片段。
%dw 1.0
%output application/xml
---
{
countryCodeReplacements : p(payload.users.*user.countryCode)
}