Remplacez \r\n les retours à la ligne à l'aide de XSLT et .NET C# VS 2008

J'utilise VS 2008, .net 3.5 pour générer la page html à l'aide de XSLT.

J'ai un Message, qui contient \r\n (les retours à la ligne)

Je utiliser ce fichier XSL:

<b>Message: </b><xsl:value-of select="Message"/><br/>

J'ai besoin de remplacer \r\n par <br/> en xsl. J'ai vu plusieurs références, mais pas de solution pour mon problème:

J'utilise ce code C# avant que j'appelle de transformation XSLT, mais pas à droite:

 m = m.Replace(@"\r\n", "&#xD;&#xA;");
            m = m.Replace(@"\n", "&#xA;");
            //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>";

- Je utiliser cette référence, mais pas de solution

L'interprétation des retours à la ligne avec xsl:text?

XSLT Remplacer la fonction n'est pas trouvé

La fonction de remplacement n'est disponible que dans la version de XSLT 2.0, pas dans la version 1.0 qui est ce que Visual Studio. Juste parce que vous avez spécifié version="2.0" ne veut pas dire que Visual Studio prend en charge.

- Je utiliser cela comme la dernière référence, mais j'obtiens l'erreur:

 <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="&lt;br/&gt;"/>
 </xsl:call-template>

suggestions, aucun exemple de code fonctionne ?

Bonne question (+1). Voir ma réponse pour l'explication des problèmes et une solution complète. 🙂

OriginalL'auteur Kiquenet | 2010-08-22