XML-Serialisierung erzeugt am Ende zufällige Zeichenfolgen? C # [duplizieren]

Diese Frage hat hier bereits eine Antwort:

FileMode.Open und FileMode.OpenOrCreate Unterschied, wenn Datei vorhanden ist? c # Bug? 1 Antwort

Beim Seralisieren einer Klasse und Speichern in eine Datei tritt manchmal ein Fehler auf, bei dem die serialisierte Ausgabe folgendermaßen aussieht:

<?xml version="1.0"?>
<Template xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Route>Some Route</Route>
    <TradePack>Something Here</TradePack>
    <Transport />
</Template>te> ------> Notice this extra string?

Die Klasse, die ich serialisiere, sieht folgendermaßen aus:

[Serializable]
public class Template
{
    public string Route = string.Empty;
    public string TradePack = string.Empty;
    public string Transport = string.Empty;

    public Template()
    {

    }
}

Ich kann nicht herausfinden, warum dies geschieht. Hier ist meine Serializer-Klasse:

    public static bool Save(object obj, string path)
    {
        try
        {
            XmlSerializer writer = new XmlSerializer(obj.GetType());

            using (var stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                writer.Serialize(stream, obj);
            }

            return true;
        }
        catch { }
        return false;
    }

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage