2011-08-05 13 views
6

Los archivos de referencia:SyntaxHighlighter no da formato de texto XML

<script src="../../Content/dp.SyntaxHighlighter/Scripts/shCore.js" type="text/javascript"></script> 
<script src="../../Content/dp.SyntaxHighlighter/Scripts/shBrushXml.js" type="text/javascript"></script> 
<link href="../../Content/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css" rel="stylesheet" type="text/css" /> 

código HTML:

<pre class="brush:xml;"> 
@Html.Encode("<?xml version='1.0'?><response value='ok' xml:lang='en'> <text>Ok</text> <comment html_allowed='true'/> <ns1:description> descriptin. </ns1:description> <a></a> <a/></response>") 
</pre> 

Código JavaScript:

<script type="text/javascript"> 
    SyntaxHighlighter.all() 
</script 

aquí se tiene referencia tutorial

+0

SyntaxHighlighter no lo hará por ti. –

Respuesta

0

Si echar un vistazo a la fuente que dará cuenta de que estás excaping el XML dos veces desde @ ya se codifica el texto mientras @Html.Encode(..) lo hace de nuevo. Por lo tanto, no está obteniendo el resultado correcto que SyntaxHighlighter entiende como código.

prueba Sólo usando este ejemplo y todo funciona bien:

<!DOCTYPE html> 
<html> 
    <head> 
     <link href="http://alexgorbatchev.com/pub/sh/current/styles/shCore.css" 
      rel="stylesheet" type="text/css" /> 
     <link href="http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css" 
      rel="stylesheet" type="text/css" /> 
    </head> 
    <body> 
     @{ 
      var xml = @" 
       <?xml version='1.0'?> 
       <response value='ok' xml:lang='en'> 
        <text>Ok</text> 
        <comment html_allowed='true'/> 
        <ns1:description> descriptin. </ns1:description> 
        <a></a> 
        <a/> 
       </response>"; 
     } 
     <pre class="brush: xml"> 
     @xml 
     </pre> 

     <script src="http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js" 
      type="text/javascript"></script> 
     <script src="http://alexgorbatchev.com/pub/sh/current/scripts/shAutoloader.js" 
      type="text/javascript"></script> 
     <script type="text/javascript"> 
      SyntaxHighlighter.autoloader(
        'xml xhtml xslt html   http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' 
       ); 
      SyntaxHighlighter.all(); 
     </script> 
    </body> 
</html> 
Cuestiones relacionadas