我正在尝试使用.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>
答案 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> </xsl:text>
</xsl:for-each>
</xsl:template>