HTML作成用のXMLWriter-単純な非ペアタグを追加する方法
質問
XMLライターを使用してHTMLドキュメントを作成し、webbrowserオブジェクトに表示することをお勧めしました。 HTML、BODYなどのdoctypeとstartelementsを作成することは問題ありませんが、2つの主な問題が発生しています:
-
<br>
などのタグを追加できません。 WriteStringを使用すると、<
および>
がスキップされます。 - 出力文字列は1行です-writeLineなどが必要です。最初の行にソースをすべて表示すると、わかります。
ありがとう
解決
HTMLは、<!> lt; img ... <!> gt;
などのタグを使用して検出しているため、有効なXML形式ではありません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