但我得到这个错误 Er-6ren">
gpt4 book ai didi

xslt仅在一个节点中用
替换\n吗?

转载 作者:行者123 更新时间:2023-12-04 05:05:40 25 4
gpt4 key购买 nike

嘿,我有一个节点 ,其中包含一条消息,例如

string1
string 2
sting3



但是,当它渲染时,它渲染了所有一行,我该如何用
替换所有\n。

我试过了

<xsl:value-of select='replace(msg, "&#xA;", "<br/>")' />



但我得到这个错误

Error loading stylesheet: Invalid XSLT/XPath function.



我该怎么做呢?

最佳答案

在要处理的字符串上调用此模板:

<xsl:template name="break">
<xsl:param name="text" select="string(.)"/>
<xsl:choose>
<xsl:when test="contains($text, '&#xa;')">
<xsl:value-of select="substring-before($text, '&#xa;')"/>
<br/>
<xsl:call-template name="break">
<xsl:with-param
name="text"
select="substring-after($text, '&#xa;')"
/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

这样(它将在当前节点上工作):
<xsl:template match="msg">
<xsl:call-template name="break" />
</xsl:template>

或类似这样,显式传递参数:
<xsl:template match="someElement">
<xsl:call-template name="break">
<xsl:with-param name="text" select="msg" />
</xsl:call-template>
</xsl:template>

我认为您正在使用XSLT 1.0处理器,而replace()是XSLT/XPath 2.0引入的功能。

关于xslt仅在一个节点中用<br/>替换\n吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/561235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com