Quando seralizing una classe e salvare in un file, a volte si verifica un errore in cui l'output serializzato è simile al seguente: sguardiLa serializzazione XML produce stringhe casuali alla fine? C#
<?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?
La classe che sto serializzazione in questo modo:
[Serializable]
public class Template
{
public string Route = string.Empty;
public string TradePack = string.Empty;
public string Transport = string.Empty;
public Template()
{
}
}
I non riesco a capire perché questo sta accadendo. Ecco la mia classe serializzatore:
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;
}
Grazie!
Ho avuto un problema simile una volta, da parte mia è stata colpa del fatto che il file non è stato completamente pulito. Rimaneva sempre un pezzo. Forse cancella il file prima di scriverci. –
Ah ha senso, grazie! :) –
Quindi, come mi aspettavo. Non è quasi mai casuale;). – Aphelion