有人建议我使用 XMLwriter 构建 HTML 文档,以便在 webbrowser 对象中显示它们。创建像 HTML、BODY 这样的 doctype 和 startelements 是可以的..但我遇到了 2 个主要问题:
- 我无法添加像
<br>
. 使用 WriteString 跳过<
和>
. - 输出字符串是一行 - 我需要类似 writeLine 的东西。你知道,当我在第一行显示源代码时。
谢谢
您可以使用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();
}
HTML 不是有效的 XML 格式,因为您使用 <img ...> 等标签发现
您可以创建符合 XML 的XHTML(在您的DOCTYPE中指定)
在 XHTML 中,单个标签是这样写的,例如 <br />
HTML: <img src="..">
XHTML: <img src=".." />
此链接可能对XHTML 与 HTML有帮助
空白布局很适合人类阅读,但对浏览器呈现 Xhtml 的方式没有影响。事实上,去除不必要的空白会产生稍小的文件。