У меня есть немного XML, который я хочу отобразить на моем веб-сайте ASP.NET как есть (для целей отладки), и было бы неплохо, если бы оно было окрашено. Этого должно быть легко достичь с правильным видом XmlWriter
, но у меня нет времени, чтобы сделать его сам. Есть ли существующий (бесплатный) компонент, который может это сделать?Есть ли XmlWriter, который пишет яркий выход в формате HTML для отображения XML на веб-странице?
ответ
Это будет скорее функцией вашего редактора, чем самого файла XML, поэтому нет, XmlWriter этого не сделает.
Вы неправильно понимаете. Я хочу, чтобы моя ** веб-страница ** отображала красочный бит разметки XML. Я не хочу редактировать этот XML или копировать его в файл или что-то еще. Просто просмотрите его на веб-сайте. –
Затем просто используйте файл CSS. CSS отлично работает с XML. Не нужно больше испускать XML из XMLWriter. –
Как будет отображаться разметка? На самом деле, я хочу видеть ** сам XML **. Подобно '
Я бы не использовал XmlWriter.
Я бы использовал XSLT. Если XML-файл должен отображаться сам по себе, просто вставьте таблицу стилей PI в XML: <?xml-stylesheet type="text/xsl" href="RawXmlAsHtml.xslt"?>
. Но поскольку IE делает это автоматически, я предполагаю, что ваша цель - не отображать XML на своей собственной странице.
Скорее всего, «необработанный» xml должен отображаться как часть другой HTML-страницы. В этом случае я буду использовать XSL Transform на стороне сервера для создания HTML из XML, а затем вставьте вывод в элемент управления <asp:xml>
. Как это:
var doc= new System.Xml.XmlDocument();
doc.Load(xmlFile);
var xsl= new System.Xml.Xsl.XslTransform();
xsl.Load(Server.MapPath("RawXmlAsHtml.xslt"));
xml1.Document = doc;
xml1.Transform = xsl;
И Разметка:
<asp:xml id="xml1" runat="server" />
Это оставляет вопрос о том, какие XSLT можно использовать?
IE, начиная с MSXML3, включил таблицу стилей для форматирования «raw» xml. Он иногда доступен через res: //msxml3.dll/defaultss.xsl. Но это не стандартная таблица стилей XSLT; он использует формат WD-xsl для Microsoft. Возможно, это не то, что вы хотите.
Я искал и нашел что-то, что соответствует стандарту XSLT; произведено Oleg Tkachenko и отправлено в составе his eXml web control. Он доступен под лицензией BSD. (. Вы могли бы даже полный контроль exml - я не знаю, что это такое)
С помощью этого XSLT и код выше, дисплей выглядит следующим образом:
alt text http://i42.tinypic.com/16a5tep.jpg
Это не совсем отлично, потому что эта таблица стилей генерирует полную HTML-страницу с тегами <HTML>
и <HEAD>
и т. д. Вам действительно нужен фрагмент. Но вы должны иметь возможность легко настраивать его, и в любом случае он отображается правильно для меня, не изменен.
Редактировать: по вопросу я говорил: я изменил таблицу стилей просто не впрыснуть <HTML>
и <HEAD>
тегов. Он отлично работает.
Теперь это шаг в правильном направлении! Действительно ли мой вопрос так плохо сформулирован, что эту идею так трудно понять? –
Не так сложно, но часть XmlWriter была красной селедкой и могла отбросить людей. – Cheeso
Это просто отлично поработало для меня. Это определенно должен быть принятым ответом. –
Вы были на сайте более года, имеют более 11 тыс. Репутации и не знаете почему? – Oded