XSLT Sheet抓取错误的信息

时间:2013-02-20 00:59:25

标签: xml xslt

我正在使用XSLT将XML文件转换为CSV文件。我的XSLT表正在将-->拉到某些数字前面。这导致我的CSV上显示-->。我如何阻止这种情况发生?我试图在下面的XML中获取货币金额。

XSLT表

<xsl:text>"</xsl:text>
<xsl:value-of select="$tran/BPR/BPR02"/>
<xsl:text>",</xsl:text>

XML

-<BPR> 
<!--Transaction Handling Code-->
-<BPR01>I
<!--Remittance Information Only-->
</BPR01> 
<!--Monetary Amount-->
<BPR02>22615.08</BPR02> 
<!--Credit/Debit Flag Code-->
-<BPR03>C
<!--Credit-->

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用<xsl:output method="text"/>

以下是您的片段代码在转换中的外观:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="/">
    <xsl:text>"</xsl:text>
    <xsl:value-of select="/BPR/BPR02"/>
    <xsl:text>",</xsl:text>
    </xsl:template>
</xsl:stylesheet>

在提供的XML文档上应用此转换时 - 已更正为格式良好:

<BPR>
    <!--Transaction Handling Code-->
    <BPR01>I
        <!--Remittance Information Only-->
    </BPR01>
    <!--Monetary Amount-->
    <BPR02>22615.08</BPR02>
    <!--Credit/Debit Flag Code-->
    <BPR03>C</BPR03>
    <!--Credit-->
</BPR>

结果不包含不需要的字符:

"22615.08",