1

我正在 mule dataweave 组件中进行 xml 到 xml 的转换。但是输出会为每个段生成“ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"。我希望它没有问题,但是有没有办法可以在 dataweave 中设置停止生产这些线。

Dataweave 的示例输出:

<host>
         <event xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                id="app"
                time-event-applied="2015-08-10T15:14:40"
                user-id="user:admin"
                is-billable="N"
                entity="UNIT"
                entity-id="CHRS1501720"
                xsi:nil="true"/>
         <additional-info>
            <field xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   id="X"
                   value="449"
                   xsi:nil="true"/>
            <field xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   id="Y"
                   value="9431719"
                   xsi:nil="true"/>
            <field xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   id="Z"
                   value="004"
                   xsi:nil="true"/>
         </additional-info>
      </host>

TIA

4

2 回答 2

2

这是我为我的问题找到的解决方案。

来自数据编织器的示例代码

info:{
  field @(id: "!23" , value: payload.Response.Detail.Header.ID  ): null
}

解决方案

info:{
  field @(id: "!23" , value: payload.Response.Detail.Header.ID  ): {}
} 

因此,从我的回答中可以明显看出,我只是用 {} 替换了 null 部分,然后它停止产生

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"
于 2016-03-02T22:49:06.700 回答
1

您是否尝试在输出指令上使用 skipNullOn 属性?

数据编织参考

于 2016-03-06T22:42:54.410 回答