xml - 如何使用 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>
解决方案
找到了解决方案。您必须(还)将过滤器输出连接到也必须被抑制的父元素。
推荐阅读
- android - React Native 发布卡在 app:mergeReleaseResources
- c++ - QJsonDocument::toJson() 双精度不正确
- .net - powershell脚本检查特定文件夹中dll的调试模式
- android - 如何在android中的lottie动画中创建一个按钮?
- c - 尝试读取文件内容时 w+ 不工作
- asp.net - 从浏览器选项卡下载的 Word 文件文件名不正确
- angularjs - 如何在 Angular 中完全替换应用程序组件 html
- ruby-on-rails - 在 Windows 机器中安装 rails:错误获取 http://rubygems.org
- intellij-idea -
在最终 jar 中覆盖的 plugin.xml 中 - javascript - 遍历子文件并获取Javascript中内容总和的结果