我一直在試圖從一個類序列化對象的列表,並不斷收到錯誤,指出XML文件在點(25,6)存在錯誤(這些數字根據我想要序列化而改變)。Windows Phone 7的孤立存儲序列化錯誤與對象列表
這裏是我如何試圖序列數據爲例:
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication()) { using((IsolatedStorageFileStream fs = isf.CreateFile("data.dat")) { XmlSerializer ser = new XmlSerializer(User.Data.GetType()); ser.Serialize(fs, User.Data);
} }
而這裏的如何,我反序列化數據:
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication()) { if (isf.FileExists("Data.dat")) { using (IsolatedStorageFileStream fs = isf.OpenFile("Data.dat", System.IO.FileMode.Open)) { XmlSerializer ser = new XmlSerializer(User.Data.GetType()); object obj = ser.Deserialize(fs); if (null != obj && obj is Data) User.Data= obj as Data; } } }
我沒有看到任何初始問題的這部分代碼,但它在我傳遞它的每個對象列表上崩潰。
下面是我使用類的一個示例:
public class Data { public static int counter; public Data() { this.index = counter++; } public DateTime availablefrom { get; set; } public DateTime availableuntil { get; set; } public string course { get; set; } public DateTime? datetaken { get; set; } public double duration { get; set; } public string instructions { get; set; } public string instructorname { get; set; } public double scorepointscorrect { get; set; } public double scorepointspossible { get; set; } public string testname { get; set; } public int index { get; private set; } }
當我給串行器只是簡單的類它的作品,所以我知道自己工作的串行器,但是當我創建的對象的列表從我的數據類或其他類,它崩潰。任何人有任何建議?
我真的希望這個建議能起作用,因爲我沒有想到我已經將它設置爲私人。但是,將其更改爲內部仍然會導致相同的錯誤,甚至將其更改爲公共設置會導致相同的錯誤。以下是特別說明的內容,僅供參考: System.Xml.dll中發生未處理的System.InvalidOperationException異常的異常 其他信息:XML文檔(2,2)中存在錯誤。 – legacybass 2011-01-26 17:40:30