Ein häufig auftretendes Konstrukt zur Generierung von XML-Dateien (z.B. RSS-Feeds) ist folgendes:

MemoryStream memStream = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(memStream, Encoding.UTF8);

Dies führt allerdings u.U. zu folgendem XML-Output via writer.WriteStartDocument():

��<?xml version="1.0" encoding="utf-8"?>

Bei den ersten beiden Zeichen handelt es sich um sog. UTF8-Identifier.

Um dessen Ausgabe via writer.WriteStartDocument() zu unterdrücken, ist folgender Code notwendig:

MemoryStream memStream = new MemoryStream();
Encoding enc
= new UTF8Encoding();
XmlTextWriter writer
= new XmlTextWriter(memStream, enc);

tags: