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

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

有帮助吗?

解决方案

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

这样的标记。

您可以创建符合XML标准的 XHTML (在 DOCTYPE

在XHTML中,单个标签的写入方式如此<!> lt; br / <!> gt;例如

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

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

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

其他提示

您可以使用缩进属性:

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();
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top