用于HTML创建的XMLWriter - 如何添加简单的非对标签?

时间:2009-11-27 10:33:26

标签: c# browser xmlwriter

我被建议使用XMLwriter来构建HTML文档,以便在webbrowser对象中显示它们。创建像HTML一样的doctype和startelements,BODY就可以了。但是我遇到了两个主要问题:

  1. 我无法添加<br>等标签。使用WriteString会跳过<>
  2. 输出字符串是一行 - 我需要像writeLine这样的东西。你知道,当我在第一行显示源代码时。
  3. 由于

2 个答案:

答案 0 :(得分:1)

您可以使用Indent属性:

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();
}

答案 1 :(得分:0)

HTML不是有效的XML格式,因为您正在使用&lt; img ...&gt;

这样的标记

您可以创建符合XML的XHTML(在DOCTYPE中指定此内容)

在XHTML中,单个标签就像这样写了&lt; br /&gt;例如

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

此链接可能会有所帮助XHTML vs HTML

空白布局非常适合人类阅读,但对浏览器呈现Xhtml的方式没有任何影响。事实上,剥离不必要的空格会产生稍小的文件。