我想要一个.xslt输出到.txt

时间:2015-03-17 19:49:59

标签: xslt

我正在尝试使用.xslt脚本将结果输出到.txt文件。 .xslt文件正在创建.xml文件。我一直在看这个。我做错了什么?

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:Message="http://schemas.microsoft.com/dynamics/2011/01/documents/Message" 
            xmlns:BankPositivePay="http://schemas.microsoft.com/dynamics/2008/01/documents/BankBositivePay">
<xsl:output method="text" indent="yes" encoding="utf-8" omit-xml-declaration="yes" />
  <xsl:template match="/">
<xsl:text></xsl:text>
<header>
  <records>
    <xsl:for-each select="//BankPositivePay:BankPositivePay/BankPositivePay:BankAccountTable/BankPositivePay:BankChequeTable">

        <xsl:value-of select="BankPositivePay:AccountID" />
        <xsl:value-of select="BankPositivePay:AccountNum" />
        <xsl:value-of select="BankPositivePay:ChequeStatus" />
        <xsl:value-of select="BankPositivePay:ChequeNum" />
        <xsl:value-of select="BankPositivePay:AmountCur" />
        <xsl:value-of select="BankPositivePay:TransDate" />
        <xsl:value-of select="BankPositivePay:RecipientAccountNum" />

        <xsl:text></xsl:text>

    </xsl:for-each>
  </records>
</header>
  </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:0)

  

我想看到txt文件看起来像这样   000000000011111111110000000000MMDDYYAAAAAAAAAAAAAAAP我希望这是   你在找什么。

不,我担心不会告诉我们太多。事实上,它是一个难以理解的角色流。

为了向前推进,请尝试以下样式表作为起点:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:BankPositivePay="http://schemas.microsoft.com/dynamics/2008/01/documents/BankBositivePay">
<xsl:output method="text" encoding="utf-8"/>

<xsl:template match="/">
    <xsl:for-each select="//BankPositivePay:BankPositivePay/BankPositivePay:BankAccountTable/BankPositivePay:BankChequeTable">
        <xsl:value-of select="BankPositivePay:AccountID" />
        <xsl:value-of select="BankPositivePay:AccountNum" />
        <xsl:value-of select="BankPositivePay:ChequeStatus" />
        <xsl:value-of select="BankPositivePay:ChequeNum" />
        <xsl:value-of select="BankPositivePay:AmountCur" />
        <xsl:value-of select="BankPositivePay:TransDate" />
        <xsl:value-of select="BankPositivePay:RecipientAccountNum" />
    </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

这将输出您在一个混乱文本块中请求的所有值(就像上面的示例一样)。如果那不是你想要的,那么使用xsl:text插入适当的分隔符,例如:

<xsl:template match="/">
    <xsl:for-each select="//BankPositivePay:BankPositivePay/BankPositivePay:BankAccountTable/BankPositivePay:BankChequeTable">
        <xsl:value-of select="BankPositivePay:AccountID" />
        <xsl:text>, </xsl:text>
        <xsl:value-of select="BankPositivePay:AccountNum" />
        <xsl:text>,  </xsl:text>
        <xsl:value-of select="BankPositivePay:ChequeStatus" />
        <xsl:text>, </xsl:text>
        <xsl:value-of select="BankPositivePay:ChequeNum" />
        <xsl:text>, </xsl:text>
        <xsl:value-of select="BankPositivePay:AmountCur" />
        <xsl:text>, </xsl:text>
        <xsl:value-of select="BankPositivePay:TransDate" />
        <xsl:text>, </xsl:text>
        <xsl:value-of select="BankPositivePay:RecipientAccountNum" />
        <xsl:text>&#10;</xsl:text>
    </xsl:for-each>
</xsl:template>