Domanda

Mi è stato consigliato di utilizzare XMLwriter per creare documenti HTML al fine di visualizzarli nell'oggetto web browser. Crea doctype e startelements come HTML, BODY è OK..ma sto riscontrando 2 problemi principali:

  1. Non riesco ad aggiungere tag come <br>. Utilizzando WriteString salta < e >.
  2. La stringa di output è una riga: avrei bisogno di qualcosa come writeLine. Sai, quando visualizzo il sorgente è tutto nella prima riga.

Grazie

È stato utile?

Soluzione

HTML non è un formato XML valido, poiché stai scoprendo tag come < img ... >

È possibile creare XHTML , che è conforme a XML (specificarlo nel DOCTYPE )

In XHTML i singoli tag sono scritti in questo modo < br / > per esempio

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

Questo link potrebbe essere utile XHTML vs HTML

Il layout degli spazi bianchi è piacevole da leggere per gli umani, ma non fa differenza sul modo in cui il browser visualizza l'Xhtml. In effetti, la rimozione di spazi bianchi non necessari produrrà file leggermente più piccoli.

Altri suggerimenti

È possibile utilizzare Indent proprietà:

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();
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top