Ответ пришел из другого поста ТАК, но я публикую его здесь, потому что мне пришлось немного его подправить.
Мне пришлось создать новый класс для управления потоком чтения / записи XML в память.Вот оно:
</p>
<pre><code>public class SafeXmlSerializer : XmlSerializer
{
public SafeXmlSerializer(Type type) : base(type) { }
public new void Serialize(StreamWriter stream, object o)
{
XmlWriterSettings ws = new XmlWriterSettings();
ws.NewLineHandling = NewLineHandling.Entitize;
using (XmlWriter xmlWriter = XmlWriter.Create(stream, ws))
{
base.Serialize(xmlWriter, o);
}
}
}
Поскольку он построен поверх XmlSerializer, он должен вести себя точно так, как ожидается.Просто, когда я сериализуюсь с StreamWriter, я буду использовать «безопасную» версию сериализации, тем самым избавляя себя от головной боли.
Надеюсь, это поможет кому-то еще.