删除CSV输出中的换行符

时间:2016-12-21 15:20:27

标签: xslt xslt-1.0 xslt-2.0

我正在将ASN IDOC从SAP转换为CSV格式,但希望摆脱标题和内容之间出现的空行。

我的代码:

  <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">

    <xsl:output method="text" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>    

    <xsl:template match="/">
        <xsl:call-template name="printHeader"/>
        <xsl:apply-templates select="DELVRY05/IDOC/E1EDL20/E1EDL24[LFIMG &gt; 0]"/>        
    </xsl:template>

    <xsl:template name="printHeader">
        <xsl:text>ProductCode,Description,Invoice,Invoice Date,Batch,Expires,Barcode,Quantity&#10;</xsl:text>
    </xsl:template>

    <xsl:template match="E1EDL24">  
        <xsl:value-of select="MATNR"/><xsl:text>,</xsl:text>
        <xsl:value-of select="ARKTX"/><xsl:text>,</xsl:text>
        <xsl:text>,</xsl:text><!--Invoice is empty-->
        <xsl:text>,</xsl:text><!--Invoice date is empty-->
        <xsl:value-of select="CHARG"/><xsl:text>,</xsl:text>
        <xsl:value-of select="VFDAT"/><xsl:text>,</xsl:text>
        <xsl:value-of select="EAN11"/><xsl:text>,</xsl:text><!--Barcode-->
        <xsl:value-of select="LFIMG"/><xsl:text>&#10;</xsl:text>
    </xsl:template>

</xsl:stylesheet>

CSV输出:Row 2 is blank and I need to remove it.

第2行是空白的,我需要删除它,有人可以帮忙吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

Hy Jack,

也许是因为

&#10;

在这一行的末尾:

<xsl:text>ProductCode,Description,Invoice,Invoice Date,Batch,Expires,Barcode,Quantity&#10;</xsl:text>