如何使用 DataWeave 读取 XML 字段值中的空格

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

我有一个 XML 输入,其中一个字段有空格,使用 dataweve 将空格视为空,我想将空格读取为字符。

XML 输入:

<employee>
 <id>123</id>
 <name> </name>
</employee>

DataWeave 脚本:

%dw 2.0
output application/xml
---
"root" : {
  "id" : payload.employee.id, 
  "name" : if (payload.employee.name == " ") "space" else payload.employee.name 
}

输出如下:

<?xml version='1.0' encoding='UTF-8'?>
<root>
  <id>123</id>
  <name/>
</root>
dataweave mulesoft
1个回答
0
投票

您需要将创建有效负载的组件的

nullValueOn
属性中的读取器属性 "empty"
XML 读取器属性文档
)设置为
"none"
outputMimeType
,以便在解析时不会出现空格替换为 null。

例如,如果有效负载来自

<file:listener>

<file:listener doc:name="On New File" config-ref="File_Config" 
      outputMimeType='application/xml; nullValueOn="empty"'>

请注意在

outputMimeType
的值周围使用单引号以避免与
nullValueOn
使用的双引号发生冲突。

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