我有一个 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>
您需要将创建有效负载的组件的
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
使用的双引号发生冲突。