может читать XML-файл из изолированного хранилища - PullRequest
0 голосов
/ 26 декабря 2011

Это проект Silverlight для WindowsPhone, и я пытаюсь создать xml-файл в изолированном хранилище, затем пытаюсь прочитать его, вот код:

using (var file = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    using (var stream = file.OpenFile("MainLBItems.xml", FileMode.Create))
                    {
                        XDocument MainLBItems = new XDocument(
                            new XDeclaration("1.0", "utf-8", "yes"),
                            new XComment("This is a comment"),
                            new XElement("Items")
                        );                        
                        MainLBItems.Save(stream);                        
                    }
                }

Проблема в том, что когда я пытаюсь прочитать с него и вот код

using (var file = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (var stream = file.OpenFile("MainLBItems.xml", FileMode.Open))
                {
                    XDocument MainLBItems = XDocument.Load(stream);
                    ...
                }
            }

У меня ошибка при сообщении «Неожиданное объявление XML. Объявление XML должно быть первым узлом в документе, и перед ним не должно быть символов пробела. Строка 3, позиция 12.» и выбрасывая необработанное исключение XmlException

Не могли бы вы помочь мне решить эту проблему? Заранее спасибо.

Я пытался добавить декларацию XML отдельно, но она тоже не сработала:

using (var file = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    using (var stream = file.OpenFile("MainLBItems.xml", FileMode.Create))
                    {
                        XDocument MainLBItems = new XDocument();
                        MainLBItems.Declaration=  new XDeclaration("1.0", "utf-8", "yes");
                        MainLBItems.Add(
                            new XComment("This is a comment"),
                            new XElement("Items")
                        );                        
                        MainLBItems.Save(stream);                        
                    }
                }

1 Ответ

0 голосов
/ 26 декабря 2011

Поскольку вы не разместили XML, я могу только догадываться ... Обычно я сталкиваюсь с этой проблемой, когда у меня нет корневого узла в документе:

<xml version="1.0" encoding="utf-8" xmlns:myNamespace="...">
<MyNodes>
    .... etc ....
</MyNodes>
...