如何删除XSLT到CSV输出中的空行

如何删除XSLT到CSV输出中的空行,xslt,Xslt,我使用XSLT转换了XML数据以输出csv格式的文本。我的XSLT包含一个子句,用于从输入XML的较大数据集中过滤结果。这是可行的,但从输入中过滤出来的每一行在输出中都显示为空行。 我尝试了和,但都没有删除空行 我的XML示例: <?xml version="1.0" encoding="UTF-8"?> <session_list xmlns="http://www.networkstreaming.com/namespaces/API" xmlns:xsi="http://

我使用XSLT转换了XML数据以输出csv格式的文本。我的XSLT包含一个
子句,用于从输入XML的较大数据集中过滤结果。这是可行的,但从输入中过滤出来的每一行在输出中都显示为空行。 我尝试了
,但都没有删除空行

我的XML示例:

<?xml version="1.0" encoding="UTF-8"?>
<session_list xmlns="http://www.networkstreaming.com/namespaces/API" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <session lsid="fef672741e025ffda1acb3041f09252d">
   <session_type>support</session_type>
   <lseq>2899</lseq>
   <start_time timestamp="1290027608">2010-11-17T16:00:08-05:00</start_time>
   <end_time timestamp="1290027616">2010-11-17T16:00:16-05:00</end_time>
   <duration>00:00:08</duration>

   <public_site id="1">Default</public_site>
   <external_key></external_key>
   <session_chat_view_url>https://mysite.com/session_download.ns?lsid=l%3Dfef672741e025ffda1acb3041f09252d%3Bh%3D9bd6081f0b7fee08dcc32a58ef4cb54c7a0e233d%3Bt%3Dsd%3Bm%3Dchat&amp;dl_action=chat&amp;view=1&amp;sessionType=sd</session_chat_view_url>
   <session_chat_download_url>https://mysite.com/session_download.ns?lsid=l%3Dfef672741e025ffda1acb3041f09252d%3Bh%3D9bd6081f0b7fee08dcc32a58ef4cb54c7a0e233d%3Bt%3Dsd%3Bm%3Dchat&amp;dl_action=chat&amp;sessionType=sd</session_chat_download_url>
   <file_transfer_count>0</file_transfer_count>

   <primary_customer gsnumber="3">Smith, John</primary_customer>
   <customer_list>
     <customer gsnumber="3">
     <username>Smith, John</username>
     <public_ip>xxx.xxx.xxx.xxx</public_ip>
     <private_ip>xxx.xxx.xxx.xxx</private_ip>
     <hostname>DESKTOP</hostname>

     <os>Windows 7 Enterprise x64 Edition (Build 7600)</os>
     <primary_cust>1</primary_cust>
      <info>
       <name></name>
       <company></company>
       <company_code></company_code>
       <issue></issue>
       <details></details>
      </info>
     </customer>
   </customer_list>
  ...etc...
 </session>
</session_list>
打印行之间的每一行都是被过滤掉的数据,因为它没有通过
,但空行仍被打印。在excel中打开时,此输出看起来不太好

有人知道如何移除它们吗


谢谢

你试过把
和#xD行?这是一个换行符,所以现在你正在写一行,即使你没有写这行。

非常感谢Jon,就这样做了。不知道我在想什么。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:bg="http://www.networkstreaming.com/namespaces/API" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output method="text"/>
<xsl:template match="/*">
<xsl:text>Session ID,</xsl:text>
<xsl:text>Start Time,</xsl:text>
<xsl:text>Duration,</xsl:text>
<xsl:text>Public Site,</xsl:text>
<xsl:text>Remedy Ticket Number,</xsl:text>
<xsl:text>Customer's Name,</xsl:text>
<xsl:text>Customer's Operating System,</xsl:text>
<xsl:text>Representative's Name</xsl:text>
<xsl:text>&#xD;</xsl:text>
<xsl:apply-templates/>
</xsl:template> 

<xsl:template match="bg:session_list">
<xsl:apply-templates select="bg:session"/>
</xsl:template>

<xsl:template match="bg:session">
<xsl:if test="contains(bg:customer_list/bg:customer/bg:os,'Click-To-Chat')">
<xsl:value-of select="bg:lseq"/>,<xsl:text/>
<xsl:value-of select="bg:start_time"/>,<xsl:text/>
<xsl:value-of select="bg:duration"/>,<xsl:text/>
<xsl:value-of select="bg:public_site"/>,<xsl:text/>
<xsl:value-of select="bg:external_key"/>,<xsl:text/>
<xsl:value-of select="bg:primary_customer"/>,<xsl:text/>
<xsl:value-of select="bg:customer_list/bg:customer/bg:os"/>,<xsl:text/>
<xsl:value-of select="bg:primary_rep"/>
</xsl:if>
<xsl:text>&#xD;</xsl:text>
</xsl:template>
</xsl:stylesheet>
Session ID,Start Time,Duration,Public Site,Remedy Ticket Number,Customer's Name,Customer's Operating System,Representative's Name

6488,2011-03-14T09:17:13-04:00,00:00:06,Default,,User One,Windows® (x86) Click-To-Chat,Rep1
6489,2011-03-14T09:44:50-04:00,00:39:58,Default,,Nate,Windows® (x86) Click-To-Chat,Rep1




6494,2011-03-14T10:25:23-04:00,00:03:29,Default,,User TEST,Windows® (x86) Click-To-Chat,Rep1



6498,2011-03-14T11:01:36-04:00,,Default,,User Two,Windows® (x86) Click-To-Chat,Diane