下面是我的示例XML响应
<DATA><![CDATA[
<RESULT>0</RESULT>
<Addresses>
<Address>
...............
</Address>
<Address>
...............
</Address>
<Address>
...............
</Address>
</Addresses>
]]></DATA>
我想把它转换成一个JSON对象数组。我使用了下面的代码,但它只是返回CDATA字符串,而不是JSON格式
%dw 2.0
output application/json encoding="UTF-8"
---
payload
我在Mule 4中使用数据编织2.0
发布于 2021-02-19 11:11:34
为了补充Salim的答案,您可以尝试使用以下DataWeave表达式来访问Addresses元素:
%dw 2.0
output application/json
---
read("<root>" ++ payload.DATA ++ "</root>", "application/xml").root.Addresses
其思想是用根节点包装数据内容,然后使用它访问内部元素。
发布于 2021-02-19 09:27:30
尝试使用以下脚本:
输入
<DATA><![CDATA[
<Person>
<RESULT>0</RESULT>
<Addresses>
<Address>
...............
</Address>
<Address>
...............
</Address>
<Address>
...............
</Address>
</Addresses>
</Person>
]]></DATA>
脚本
%dw 2.0
output application/json
---
read(payload.DATA, "application/xml")
输出
{
"Person": {
"RESULT": "0",
"Addresses": {
"Address": "\n ...............\n",
"Address": "\n ...............\n",
"Address": "\n ...............\n"
}
}
}
发布于 2021-06-16 02:33:47
我听从了你的指示,结果成功了。变压器1:
%dw 2.0输出应用程序/json
读取(payload.DATA,"application/xml")
变压器2:
%dw2.0输出应用程序/java
写(有效载荷,'application/xml')
谢谢dk
https://stackoverflow.com/questions/66274583
复制相似问题