2011-09-25 52 views
1

我想加载保存在独立存储中的xml数据,但我总是得到一个错误。 我用下面的代码加载保存在独立存储从独立存储加载Xml文件 - Windows Phone 7

IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication(); 

     storage.CreateDirectory("Highscores"); 

     using (var isoFileStream = new IsolatedStorageFileStream("Highscores\\scores.xml", FileMode.OpenOrCreate, storage)) 
     { 
      using (XmlReader reader = XmlReader.Create(isoFileStream)) 
      { 
       XDocument xml = XDocument.Load(reader); 
       int i = 0; 

       foreach (var score in xml.Root.Element("Highscores").Elements()) 
       { 
        Count_to_10.Page2.Highscores.scores[i++] = score.Value.ToString(); 
       } 

      } 
     } 

XML数据,但我得到以下错误

Root element is missing. 

在这一行

XDocument xml = XDocument.Load(reader); 

XML文件:

<HighscoreTable> 
    <Highscores length="25"> 
    <score>00:00:09.000</score> 
    <score>00:00:07.000</score> 
    <score>00:00:02.000</score> 
    <score>00:00:04.000</score> 
    </Highscores> 
</HighscoreTable> 

如果你能帮我找到错误的根源,我会很高兴。

回答

0

那个错误指示我的是XDocument.Load(reader);调用正尝试读取给定的文件并找不到该文件。从本质上讲,你的文件从来没有被保存到独立存储中,或者被保存在不同的路径中。

我正在为自己测试一些东西,当我试图读取错误的文件路径时,我能够复制您的问题。

尝试添加storage.FileExists("Highscores\\scores.xml")以确保您的文件存在于独立存储中,然后再尝试读取它。

相关问题