【问题标题】:XMLPort Skip empty TagsXMLPort 跳过空标签
【发布时间】:2012-06-15 10:09:43
【问题描述】:

我在 Dynamics Nav 中创建了一个 XMLport。我遇到的问题是空标签出现在 XML 中,我需要删除它们。我必须做些什么来修复它?

【问题讨论】:

  • 请以文本格式导出您的 XMLPort 并在此处发布。从您的描述中很难弄清楚可能有什么问题。
  • 你在这里并没有给我们太多的工作。请发布您的 XMLPort 定义以获得帮助。

标签: navision dynamics-nav


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      只需在此样式表中使用 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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-19
        相关资源
        最近更新 更多