2012-06-12 77 views
0

我正嘗試讀取已使用Serialize保存到IsolatedStorageFile的XML文件。當我嘗試讀取try塊中的XML文件時,它會在Deserialization步驟中引發異常。難道我做錯了什麼?我怎樣才能解決這個問題?Windows Phone 7反序列化異常

投注類:

public class Bet 
{ 
    public String Amount { get; set; } 
    public String Opponent { get; set; } 
    public String Terms { get; set; } 
    public int Result { get; set; } 
    public String ResultColor { get; set; } 

    public Bet(String amount, String opponent, String terms, int result, String rcolor) 
    { 
     this.Amount = amount; 
     this.Opponent = opponent; 
     this.Terms = terms; 
     this.Result = result; 
     this.ResultColor = rcolor; 
    } 
} 

保存/載入投注功能

public void SaveBets() 
{ 
    List<Bet> bets = new List<Bet>(); 

    foreach (Bet item in openBetList) 
     bets.Add(item); 

    foreach (Bet item in closedBetList) 
     bets.Add(item); 

    // Write to the Isolated Storage 
    XmlWriterSettings xmlWriterSettings = new XmlWriterSettings(); 
    xmlWriterSettings.Indent = true; 

    using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
    { 
     using (IsolatedStorageFileStream stream = myIsolatedStorage.OpenFile("Bets.xml", FileMode.Create)) 
     { 
      XmlSerializer serializer = new XmlSerializer(typeof(List<Bet>)); 
      using (XmlWriter xmlWriter = XmlWriter.Create(stream, xmlWriterSettings)) 
      { 
       serializer.Serialize(xmlWriter, bets); 
      } 
     } 
    } 
} 

public void LoadBets() 
{ 
    try 
    { 
     using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 
      using (IsolatedStorageFileStream stream = myIsolatedStorage.OpenFile("Bets.xml", FileMode.Open)) 
      { 
       XmlSerializer serializer = new XmlSerializer(typeof(List<Bet>)); 
       List<Bet> data = (List<Bet>)serializer.Deserialize(stream); 

       if(data.Count > 0) 
        foreach (Bet item in data) 
        { 
         if (item.Result == 0) 
          openBetList.Add(item); 
         else 
          closedBetList.Add(item); 
        } 
      } 
     } 
    } 
    catch 
    { 
     //add some code here 
    } 
} 

謝謝!

+1

「的」例外?什麼例外? –

回答

1

什麼是例外?

,我可以remeber需要在不爲這個參數的構造函數...

+0

+1你說得對,我認爲這就是問題 –

+0

給你的catch添加「(Exception ex)」,所以你可以看到異常 –

+0

謝謝! :)構造函數沒有參數做了詭計! – krisharmas