根元素缺少Windows Phone

时间:2011-11-17 02:48:52

标签: c# windows-phone-7 silverlight-4.0

我需要读取一个xml文件,但尝试阅读时会出现此错误。

public void load()
{
  IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
  IsolatedStorageFileStream fileStream;
  try
  {
    fileStream = myIsolatedStorage.OpenFile("sites.xml", FileMode.Open, 
      FileAccess.Read);
  }
  catch (Exception)
  {
    fileStream = myIsolatedStorage.CreateFile("sites.xml");
    XDocument sites= new XDocument(new XElement("root"));
    fileStream = myIsolatedStorage.OpenFile("sites.xml", FileMode.Open, 
      FileAccess.Read);
  }          

  List<Site> listSites= new List<Site>();

  using (StreamReader file= new StreamReader(fileStream))
  {
    XDocument doc= XDocument.Load(file);

    foreach (XElement elemento in doc.Elements())
    {
      String name= elemento.Element("name").Value;
      String url = elemento.Element("url").Value;
      listSites.Add(new Site(name));
    }
    lstSites.ItemsSource = listSites;
  }
}

在线

XDocument doc= XDocument.Load(file); 

我收到主题中的错误。你能帮助我吗 ?

2 个答案:

答案 0 :(得分:1)

您的文档(sites.xml)应该有一个根元素,例如:

<?xml version="1.0"?>
<MyRootElement>
...
</MyRootElement>

答案 1 :(得分:1)

也许您应该改变使用xml文件和隔离存储的方式。您可以创建一个包含您的名称和URL属性的Site类,并将这些列表序列化到隔离存储中。

可以在这里找到一个例子: http://www.windowsphonegeek.com/tips/All-about-WP7-Isolated-Storage---Read-and-Save-XML-files