我在Dynamics Nav中创建了一个XMLport。我遇到的问题是XML中出现空标签,我需要删除它们。我必须要解决它吗?
答案 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”。这可能有用。