XMLPort跳过空标签

时间:2012-06-12 13:54:13

标签: navision dynamics-nav

我在Dynamics Nav中创建了一个XMLport。我遇到的问题是XML中出现空标签,我需要删除它们。我必须要解决它吗?

3 个答案:

答案 0 :(得分:1)

您必须将代码添加到每个元素和属性的OnBeforePassVariable触发器中。只需检查值是否为空并跳过它。

awesomefield - Export::OnBeforePassVariable()
IF awesomefield  = '' THEN
  currXMLport.SKIP;

答案 1 :(得分:0)

只需将XMLDoc.transformNodeToObject函数与此样式表一起使用

即可
 <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >

  <xsl:output method="xml" indent="yes" />
  <!--Remove alle empty nodes recursively-->
  <xsl:template match="node() | @*">
    <xsl:copy>
      <xsl:apply-templates select="node() | @*"/>
    </xsl:copy>
  </xsl:template>

  <!--Strip white space between nodes-->
  <xsl:template match="*[normalize-space() = '']"/>
</xsl:transform>

本诺

答案 2 :(得分:0)

默认情况下,XMLport中的新元素将其“MinOccurs”和“MaxOccurs”属性设置为“Once”。尝试将该元素的“MinOccurs”属性设置为“Zero”。这可能有用。