我不确定为什么我的xslt不会在我的输出中添加新行... 这是我的xslt ....
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="text" encoding="iso-8859-1"/>
<xsl:variable name="newline"></xsl:variable>
<xsl:template name="FairWarningTransform" match="/"> <!--@* | node()">-->
<xsl:for-each select="//SelectFairWarningInformationResult">
<xsl:value-of select="ApplicationID"/>,<xsl:value-of select="USERID"/>
</xsl:for-each>
* Note. This report outlines Fair warning entries into reported for the above time frame.
</xsl:template>
</xsl:stylesheet>
这是我的输出......
1,TEST1,test2,
我希望它看起来像......
1,TEST
1,test2,
为什么不是这个角色 创建换行符
答案 0 :(得分:9)
尝试替换
与
<xsl:text> </xsl:text>
这有助于XSLT将其与样式表中作为样式表格式(不是所需输出的一部分)一部分的其他空格区分开来。
答案 1 :(得分:9)
XSLT的默认行为是忽略样式表中完全是空白的任何文本节点(即使某些空格被编码为像
这样的实体也是如此),<xsl:text>
中的文本除外,保留。
我建议更换这些行:
<xsl:value-of select="ApplicationID"/>,<xsl:value-of select="USERID"/>
用这个:
<xsl:value-of select="concat(ApplicationID, ',', USERID, ' ')"/>
这样就可以确保换行符包含在输出中。
答案 2 :(得分:0)
尝试将此作为换行符而不是转义字符:
<xsl:text>
</xsl:text>