Как я могу взять строку XML и отобразить ее на своей странице подобно тому, как StackOverflow делает это с помощью «вставить код»? - PullRequest
0 голосов
/ 23 сентября 2010

Я использую DataContractSerializer для преобразования, и объект возвращается из вызова WCF в xml. Клиент хотел бы видеть эту строку XML на веб-странице. Если я выведу строку непосредственно на метку, браузер, очевидно, удалит угловые скобки. У меня вопрос, как я могу сделать что-то похожее на StackOverflow? Они делают поиск и замену, чтобы заменить угловые скобки своими HTML-объектами? Я вижу, что они делают кодовый тег внутри предварительного тега, а затем создают промежутки с соответствующим классом. Есть ли существующая утилита, которую я могу использовать для этого вместо написания какой-то процедуры синтаксического анализа. Я уверен, что что-то бесплатное должно быть там. Если кто-то может направить в нужное место или какой-то код, который может легко выполнить это, я был бы очень признателен. Я извиняюсь, если это больше вопрос meta.stackoverflow. Спасибо за любые советы.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2010

вы говорите о "довольно печати" .. если вы хотите отобразить исходный код, вы можете использовать эту ссылку 16 Бесплатные подсветки синтаксиса кода JavaScript для лучшего программирования

Но если вы хотите отображать только xml ... в Интернете есть некоторые функции, которые могут помочь вам в этом, например: XML PHP Pretty Printer

и не забывайте специальные символы =)

удачи

0 голосов
/ 23 сентября 2010

Основной ответ заключается в том, что для отображения HTML в виде напечатанных, специальных символов и всего прочего необходимо заменить специальные символы (<, > и т. Д.) Их экранированными эквивалентами (&gt;, * 1004). * так далее.). Кроме того, если вы хотите раскрасить синтаксис, вам придется анализировать входные данные для определения ключевых слов и т. Д.

Полный список специальных символов и их escape-кодов можно найти здесь , но это только один сайт из многих.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...