用于HTML创建的XMLWriter - 如何添加简单的非对标签?
题
我被建议使用XMLwriter来构建HTML文档,以便在webbrowser对象中显示它们。创建像HTML一样的doctype和startelements,BODY就可以了。但是我遇到了两个主要问题:
- 我无法添加
<br>
等标签。使用WriteString会跳过<
和>
。 - 输出字符串是一行 - 我需要像writeLine这样的东西。你知道,当我在第一行显示源代码时。 醇>
由于
解决方案
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();
}
不隶属于 StackOverflow