2012-06-12 67 views
1

我在Dynamics Nav中創建了一個XMLport。我遇到的問題是空標籤出現在XML中,我需要刪除它們。我必須去解決它?XMLPort跳過空標籤

+0

請將您的XMLPort以文本格式導出併發布到此處。從你的描述中弄清楚什麼可能是錯誤的是很難的。 –

+0

你真的沒有給我們太多的工作在這裏。請發佈您的XMLPort定義以獲得幫助。 – Kallja

回答

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> 

0

通過在默認的XMLport新元素有自己的「的minOccurs」和「maxOccurs的」設置爲「一次」性。嘗試將該元素的「MinOccurs」屬性設置爲「零」。這可能工作。

1

您必須將代碼添加到每個元素和屬性的OnBeforePassVariable觸發器中。只需檢查該值是否爲空並跳過即可。

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