Pergunta

fui aconselhado a usar XMLwriter aos documentos de construção HTML, a fim de exibi-los em objeto webbrowser. Criando doctype e startelements como HTML, o corpo é OK..but estou experimentando 2 problemas principais:

  1. Não consigo adicionar tags como <br>. Usando WriteString salta < e >.
  2. A seqüência de saída é uma linha - Eu precisaria de algo como WriteLine. Você sabe, quando eu exibir fonte é tudo na primeira linha.

Graças

Foi útil?

Solução

HTML não é um formato XML válido, como você está discoving com tags como

Você pode criar XHTML , que é compatível com XML (especificar isso em sua DOCTYPE )

Em XHTML tags simples são escritas como este
por exemplo

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

Este link pode ser útil XHTML vs HTML

layout de espaços em branco é bom para os seres humanos de ler, mas não faz diferença para a forma como o navegador processa o XHTML. Na verdade tirando espaços em branco desnecessários irá produzir arquivos ligeiramente menores.

Outras dicas

Você pode usar o recuo propriedade:

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();
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top