SyntaxHighlighter не форматирует текст XML - PullRequest
6 голосов
/ 05 августа 2011

Справочные файлы:

<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" />

html код:

<code><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>")

Код JavaScript:

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

здесь есть ссылка учебник

1 Ответ

0 голосов
/ 18 сентября 2012

Если вы посмотрите на источник, вы заметите, что вы извлекаете XML два раза, поскольку @ уже кодирует текст, а @Html.Encode(..) делает это снова.Поэтому вы не получаете правильного вывода, который SyntaxHighlighter понимает как код.

Просто протестируйте, используя этот пример, и все будет работать нормально:

<code><!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
        
...