从隔离存储加载Xml文件 - Windows Phone 7

时间:2011-09-25 17:14:20

标签: c# xml isolatedstorage

我正在尝试加载保存在独立存储中的xml数据,但我总是收到错误。 我使用以下代码加载保存在独立存储中的xml数据

 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();
                }

            }
        }

但是我收到以下错误

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>

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

1 个答案:

答案 0 :(得分:0)

该错误对我来说是XDocument.Load(读者);调用是试图读取给定的文件,无法找到该文件。基本上,您的文件从未首先保存到Isolatedstorage,或者使用不同的路径保存。

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

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