WP7 XNA InvalidOperationException podczas deserializacji

0

Siema.
Kiedy chce zdeserializować listę wyrzuca mi wyjątek InvalidOperationException o treści There is an error in XML document (3, 4). Dlaczego tak się dzieje?

Odczyt:

public static void loadHighscores()
        {
            using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if(isf.FileExists("hs.xml"))
                {
                    using (IsolatedStorageFileStream fs = isf.OpenFile("hs.xml", FileMode.Open))
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(HighscoreList));
                        highscores = serializer.Deserialize(fs) as HighscoreList;
                    }
                }
            }
        }

Zapis:

public static void saveHighscores()
        {
            using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if(isf.FileExists("hs.xml"))
                {
                    isf.DeleteFile("hs.xml");
                }
                using (IsolatedStorageFileStream fs = isf.CreateFile("hs.xml"))
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(HighscoreList));
                    serializer.Serialize(fs, highscores);
                }
            } 
        } 

Klasy:

[XmlRoot("highscore_list")]
    public class HighscoreList
    {
        public HighscoreList()
        {
            items = new List<Score>();
        }
        [XmlElement("items")]
        public List<Score> items { get; set; }
    }

public class Score
    {
        [XmlElement("name")]
        public string name { get; set; }
        [XmlElement("score")]
        public double score { get; set; }
        public Score(string name, double score)
        {
            this.name = name;
            this.score = score;
        }
    } 
2

O ile dobrze pamiętam Deserializacja wymaga domyślnego konstruktora ( ewentualnie konstruktora przyjmującego StreamingContext). Klasa Score nie posiada takowego.

0

Dzięki, teraz wszystko śmiga

1 użytkowników online, w tym zalogowanych: 0, gości: 1