HTML 생성을위한 XMLWRITER- 간단한 비 쌍 태그를 추가하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1807975

  •  05-07-2019
  •  | 
  •  

문제

XMLWRITER를 사용하여 WebBrowser 객체에 표시하기 위해 HTML 문서를 작성하는 것이 좋습니다. html과 같은 Doctype 및 StartElements 만들기, Body는 괜찮습니다. 그러나 나는 두 가지 주요 문제를 경험하고 있습니다.

  1. 나는 같은 태그를 추가 할 수 없습니다 <br>. Writestring 건너 뛰기를 사용합니다 < 그리고 >.
  2. 출력 문자열은 한 줄입니다. Writeline과 같은 것이 필요합니다. 내가 소스를 표시 할 때 첫 번째 줄에 모든 것을 표시 할 때.

감사

도움이 되었습니까?

해결책

HTML은 유효한 XML 형식이 아닙니다.u003Cimg ...>

당신은 만들 수 있습니다 XHTML, XML 준수입니다 (이를 지정하십시오. Doctype)

XHTML에서 단일 태그는 다음과 같이 쓰여집니다u003Cbr /> 예를 들어

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

이 링크가 도움이 될 수 있습니다 XHTML 대 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();
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top