2011-09-25 51 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")以確保您的文件存在於獨立存儲中,然後再嘗試讀取它。

相關問題