Отсутствует корневой элемент Windows Phone - PullRequest
2 голосов
/ 17 ноября 2011

Мне нужно прочитать 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 ]

1 голос
/ 17 ноября 2011

Возможно, вам следует изменить способ работы с XML-файлами и изолированным хранилищем. Вы можете создать класс Site, содержащий ваши свойства name и url, и сериализовать их список в изолированное хранилище.

пример можно найти здесь: http://www.windowsphonegeek.com/tips/All-about-WP7-Isolated-Storage---Read-and-Save-XML-files

1 голос
/ 17 ноября 2011

В вашем документе (sites.xml) должен быть корневой элемент, например:

<?xml version="1.0"?>
<MyRootElement>
...
</MyRootElement>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...