XMLWriter для создания HTML - как добавить простые непарные теги? - PullRequest
1 голос
/ 27 ноября 2009

Мне посоветовали использовать XMLwriter для создания документов HTML, чтобы отобразить их в объекте webbrowser. Создавая doctype и начальные элементы, такие как HTML, BODY - это нормально ... но я испытываю 2 основные проблемы:

  1. Я не могу добавить теги типа <br>. Использование WriteString пропускает < и >.
  2. Выходная строка - одна строка - мне нужно что-то вроде writeLine. Вы знаете, когда я отображаю источник, все в первой строке.

Спасибо

Ответы [ 2 ]

1 голос
/ 27 ноября 2009

Вы можете использовать свойство Отступ :

var settings = new XmlWriterSettings();
settings.Indent = true;
using (var writer = XmlWriter.Create(outputStream, settings))
{
    writer.WriteDocType("html", "-//W3C//DTD XHTML 1.0 Transitional//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd", null);
    writer.WriteStartElement("html");
    writer.WriteStartElement("body");
    writer.WriteStartElement("b");
    writer.WriteValue("Test");

    writer.WriteEndElement();
    writer.WriteEndElement();
    writer.WriteEndElement();
}
0 голосов
/ 27 ноября 2009

HTML не является допустимым форматом XML, так как вы обнаруживаете теги типа image

Вы можете создать XHTML , совместимый с XML (укажите это в DOCTYPE )

В XHTML одиночные теги пишутся так
, например

 HTML: <img src="..">
 XHTML: <img src=".." />

Эта ссылка может быть полезна XHTML против HTML

Макет пустого пространства удобен для чтения, но не имеет значения, как браузер отображает Xhtml. Фактически, удаление ненужных пробелов приведет к созданию файлов меньшего размера.

...