有没有办法为XPath表达式添加换行符?
这是我当前的表达,它不起作用
{concat(@Parameter1, $NullObj, @Parameter2)}
变量$NullObj
等于

LINEFEED字符的十六进制值。
输出"参数1参数2。"
编辑:不幸的是,我使用的是Xpath / Xsl 1.0。
编辑:下面的示例代码。 XML:
<Post>
<Title>Title Text</Title>
<Body>Body Text </Body>
<Author>Author Name</Author>
</Post>
示例XSL
<xsl:Variable name="NullObj">
<xsl:value-of select="'
'" />
</xsl:variable>
Edit2:完整的Xpath上下文,按要求:
<xsl:value-of select="concat("The title is", @Title, $NullObj, "The Body reads:", @Body, $NullObj, "The Author is", @Author)" />
结果输出不包括换行符。我错过了什么基本的东西?
我还尝试用

替换
,但没有运气。
谢谢你的耐心。
答案 0 :(得分:1)
演示Minimal, Complete, and Verifiable example的含义:
以下样式表:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:variable name="NullObj">
<xsl:value-of select="'
'" />
</xsl:variable>
<xsl:template match="/Post">
<xsl:copy>
<xsl:value-of select="concat('The title is: ', Title, $NullObj, 'The Body reads:', Body, $NullObj, 'The Author is: ', Author)" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
应用于您的示例输入,返回:
<?xml version="1.0" encoding="UTF-8"?>
<Post>The title is: Title Text
The Body reads:Body Text
The Author is: Author Name</Post>
如您所见,换行符是您期望的。
显然,您正在尝试生成 HTML输出 - 所以正确的答案是:
<xsl:value-of select="concat('The title is: ', Title)" />
<br/>
<xsl:value-of select="concat('The Body reads:', Body)" />
<br/>
<xsl:value-of select="concat('The Author is: ', Author)" />
答案 1 :(得分:0)
解决了它。问题原来是一个白色空间问题。显然将其设置为“pre”以外的任何内容都会忽略IE中的Xpath换行符。