XMLWriter für HTML-Erstellung - wie einfach Nicht-pair-Tags hinzufügen?
Frage
Ich wurde geraten, XMLWriter zu verwenden HTML-Dokumente zu bauen, um sie in Web-Browser-Objekt angezeigt werden soll. Erstellen Doctype und startelements wie HTML, BODY ist OK..but Ich erlebe 2 Hauptprobleme:
- Ich kann hinzufügen Tags wie
<br>
. Mit Write springt<
und>
. - Die Ausgabezeichenfolge ist eine Zeile - ich so etwas wie writeline brauchen würde. Wissen Sie, wenn ich seine Quelle für die Anzeige aller in der ersten Zeile.
Danke
Lösung
HTML ist kein gültiges XML-Format, wie Sie mit Tags wie sind discoving
Sie könnten erstellen XHTML , die XML-konform (geben Sie dies in Ihrem DOCTYPE )
In XHTML einzelnen Tags sind wie diese
zum Beispiel writen
HTML: <img src="..">
XHTML: <img src=".." />
Dieser Link könnte hilfreich sein, XHTML vs HTML
Leer Layout ist schön für die Menschen zu lesen, aber macht keinen Unterschied, wie der Browser die Xhtml macht. In der Tat unnötige Leerzeichen Strippen produziert etwas kleine Dateien.
Andere Tipps
könnten Sie die einrücken Eigenschaft:
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();
}