首页 > 解决方案 > 如何使用 MapForce(csv 到 xml)删除所有空标签?希望抑制空节点输出

问题描述

我需要写入 ND 元素或数据元素。为此,我使用了一个过滤器,如果检测到 ND 字段,它会创建 ND 元素并写入 ND 代码,如果不是 ND 数据,它会创建关联的 xml 标记并将数据写入那里。但是,如果我有任何东西连接到 ND 元素标记(与节点的连接),它会创建一个空的自闭合标记(例如<NoDataOptn/>)。但是必须连接一些东西,否则它将永远无法在那里编写 ND 代码。

例如下面的例子(这是从 MapForce 输出的 XML 代码),它将日期正确地放置在 PoolAddtnDt 中,但为日期下方的无数据选项写入一个空的自闭合标签。当它写入 ND 标签时,它工作得很好(参见 RpDt,它不会为日期创建一个空标签)。

有没有办法删除以这种方式生成的所有空标签?或者抑制节点的输出。

我查看了 xsd 文件并尝试将 minOccurs 设置为 0,并将 nillable 设置为 true。

<ActvtyDtDtls>
           <PoolAddtnDt>
                          <Dt>2008-09-01</Dt>     
                          <NoDataOptn/> - i want all these empty tags gone
           </PoolAddtnDt>
           <RpDt>
                          <NoDataOptn>
                                         <NoData>ND5</NoData>
                          </NoDataOptn>
           </RpDt>
</ActvtyDtDtls>

标签: xmlcsvxsdmap-force

解决方案


找到了解决方案。您必须(还)将过滤器输出连接到也必须被抑制的父元素。


推荐阅读