जब एक वर्ग seralizing और एक फाइल करने के लिए बचत, कभी कभी एक त्रुटि होता है, जहां धारावाहिक उत्पादन इस तरह दिखता है:एक्सएमएल सीरियलाइजेशन अंत में यादृच्छिक तार पैदा करता है? सी #
[Serializable]
public class Template
{
public string Route = string.Empty;
public string TradePack = string.Empty;
public string Transport = string.Empty;
public Template()
{
}
}
मैं: इस तरह
<?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?
वर्ग मैं serializing कर रहा हूँ दिखता ऐसा नहीं लगता कि यह क्यों हो रहा है। यहां मेरा सीरिएलाइज़र क्लास है:
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;
}
धन्यवाद!
मुझे एक बार एक ही समस्या थी, मेरे अंत में यह गलती थी कि फाइल पूरी तरह से साफ नहीं हुई थी। यह हमेशा एक टुकड़ा छोड़ दिया गया था। इससे पहले कि आप इसे लिखने से पहले फ़ाइल हटा दें। –
आह समझ में आता है, धन्यवाद! :) –
तो, जैसा कि मैंने उम्मीद की थी। यह लगभग यादृच्छिक नहीं है;)। – Aphelion