DataWeave Playground 和 Vscode 与 Anypoint Studio/Mule 运行时中的 XML 处理结果有所不同

问题描述 投票:0回答:1

我正在处理 XML 文档(这是带有嵌套文本和元素的 HTML)。

使用以下脚本,Dataweave Playground 和 VScode 扩展输出文本/元素的正确顺序:

%dw 2.0
output application/json skipNullOn="everywhere"
var xmlString="<root>sometext0<element1>1</element1>sometext2</root>"
---
read(xmlString, 'application/xml')

产生正确的输出顺序:

{
  "root": {
    "__text": "sometext0",
    "element1": "1",
    "__text": "sometext2"
  }
}

但是,Anypoint Studio(7.15,Mule 4.4.0)中完全相同的脚本会导致此输出与 _text 节点连接,从而导致丢失正确的顺序:

{
  "root": {
    "element1": "1",
    "__text": "sometext0sometext2"
  }
}

有谁知道如何让 Studio/Mule 运行时产生与 Playground/VSCode 相同的正确输出?

尝试在 studio、vscode 和 Playground 中运行。

mule dataweave mulesoft mule4 anypoint-studio
1个回答
0
投票

Visual Code 的 DataWeave 2.0(BETA)扩展和 DataWeave Playground 可能不具有与实际 Mule Runtime 版本相同的 DataWeave 引擎。它们可能嵌入了不同版本的 DataWeave。规范行为就是 Mule 版本正在做的事情。

如果 Mule 版本不符合您的期望,并且您是客户,您可以向 MuleSoft 提出错误。

© www.soinside.com 2019 - 2024. All rights reserved.