сохранение в документ xml - PullRequest
4 голосов
/ 18 ноября 2010

Я " пытаюсь " выяснить, как создать приложение для Windows Phone 7 , и я хотел бы обновить / сохранить файл XML с помощью следующей функции:

        XDocument xmlDoc = XDocument.Load("myApp.xml");

        xmlDoc.Element("ocd").Add(new XElement("vDetails", new XElement("itemName", this.tb_Name.Text),
            new XElement("Date", System.DateTime.Now.ToString()), new XElement("itemValue", "")));

        xmlDoc.Save("data.xml");

Однако в строке xmlDoc.Save выдается ошибка: наилучшее перегруженное соответствие метода для "System.Xml.Linq.XDocument.Save (System.Xml.XmlWriter) имеет некоторые недопустимые аргументы.

Что мне нужно сделать, чтобы исправить это?

Ответы [ 2 ]

8 голосов
/ 18 ноября 2010

Вам необходимо сохранить в изолированном хранилище (или в нескольких других местах). Получите изолированное хранилище для своего приложения, откройте поток в файл и сохраните в поток:

using (var storage = IsolatedStorageFile.GetUserStoreForApplication())
{
    using (Stream stream = storage.CreateFile("data.xml"))
    {
        doc.Save(stream);
    }
}
1 голос
/ 20 ноября 2010

Блог разработчиков Windows Phone подробно рассказывает о модели исполнения приложений.

Я думаю, что важно различать «закрытие» приложения и его захоронение.

Закрытие приложения - это просто результат того, что пользователь нажимает аппаратную кнопку «Назад» достаточно много раз, чтобы переместиться назад по страницам приложения, пройдя первую страницу приложения.1011 * происходит, когда другое приложение получает контроль над передним планом - например, входящий телефонный звонок, запуск программы выбора или нажатие пользователем кнопки Windows.В обоих случаях ваше приложение будет деактивировано (не закрыто).Прежде чем мы перейдем к тонкостям события «Деактивировано», давайте удостоверимся, что все мы понимаем, что после деактивации ваше приложение завершается (в конце).Это так просто;Ваш код не может работать в фоновом режиме, поэтому ваше приложение завершается.Однако, в отличие от приложения, которое закрыто, деактивированное приложение может быть захоронено.Не запутайтесь, процесс надгробного приложения по-прежнему прекращается.Но в отличие от закрытого приложения, где операционная система WP удаляет любой след приложения, когда приложение деактивируется, операционная система WP хранит запись (надгробную плиту) о состоянии приложения.По сути, операционная система WP хранит надгробие приложения, которое становится частью бэк-стека приложения телефона, - это журнал, который позволяет использовать аппаратную кнопку «Назад» для улучшения функциональности навигации.

Модель исполнения приложения

Что касается тестирования, то может быть идея реорганизовать код и добавить регистрацию для различных точек событий, таких как закрытие или захоронение и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...