我使用VS 2008,.net 3.5使用XSLT生成頁面html。替換 r n使用XSLT和.NET的換行符VS 2008
我有信息,包含\ r \ n(新行)
我在XSL文件中使用此:
<b>Message: </b><xsl:value-of select="Message"/><br/>
我需要<br/>
在XSL替換\ r \ n。我見過幾個引用,但對我的問題沒有得到解決:
我使用此代碼C#之前,我打電話變換XSLT,但不正確的:
m = m.Replace(@"\r\n", "
");
m = m.Replace(@"\n", "
");
//m = System.Web.HttpUtility.HtmlDecode(m);
m = m.Replace(@"\r\n", "<br/>");
m = m.Replace(@"\n", "<br/>");
msg = "<Exception>"
+ "<Description>" + d + "</Description>"
+ "<Message>" + m + "</Message>"
+ "<DateTime>" + localTimeString + "</DateTime>"
+ "</Exception>";
我用這個引用,而不是解決方案
Interpreting newlines with xsl:text?
XSLT Replace function not found
的替換功能只在XSLT 2.0版可用,而不是在版本sion 1.0是Visual Studio使用的。僅僅因爲你指定了version =「2.0」並不意味着Visual Studio支持它。
我用這個像的最後一個引用,但我得到的錯誤:
<xsl:call-template name="string-replace-all">
<xsl:with-param name="text" select="Message"/>
<xsl:with-param name="replace" select="\r\n"/>
<xsl:with-param name="by" select="<br/>"/>
</xsl:call-template>
建議,任何示例代碼工作?
好問題(+1)。查看我的答案以解釋問題和完整的解決方案。 :) – 2010-08-22 15:13:41