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 AntwortBeim 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