сохранение xml, выделенного на сервере wp7

#xml #visual-studio #windows-phone-7

#xml #visual-studio #windows-phone-7

Вопрос:

мне нужно сохранить XML-файл с сервера .. я нашел код для загрузки, но я не понимаю, как сохранить файл в памяти.. Как я могу это сделать? Я ищу в Google, и у меня есть это:

     public MainPage()
    {
        InitializeComponent();
        WebClient downloader = new WebClient();
        Uri xmlUri = new Uri("http://dl.dropbox.com/13258/file.xml", UriKind.Absolute);
        downloader.DownloadStringCompleted  = new DownloadStringCompletedEventHandler(Downloaded);
        downloader.DownloadStringAsync(xmlUri);




    }

    void Downloaded(object sender, DownloadStringCompletedEventArgs e)
    {
        if (e.Result == null || e.Error != null)
        {
            MessageBox.Show("There was an error downloading the xml-file");
        }
        else
        {

            MessageBox.Show("Download succeed");
        }
    }
 

Я хочу выполнить загрузку и сохранить ее в памяти.

Ответ №1:

Имеющийся у вас код загрузит файл с сервера. В Downloaded() вам нужно будет добавить некоторый код для сохранения только что загруженного файла.

В WP7 файлы сохраняются в изолированном хранилище. Это специфичная для приложения файловая система, которую вы можете использовать для сохранения любых файлов, которые вы хотите использовать в своем приложении. Следующая ссылка описывает, как можно использовать изолированное хранилище:

http://www.windowsphonegeek.com/tips/all-about-wp7-isolated-storage-read-and-save-text-files

В вашем случае добавьте это к Else в Downloaded()

 IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
using (StreamWriter writeFile = new StreamWriter(new IsolatedStorageFileStream("File.Xml", FileMode.OpenOrCreate, FileAccess.Write, myIsolatedStorage)))
{
    writeFile.WriteLine(e.Result);
    writeFile.Close();
}
 

Будьте осторожны с типом перечисления FileMode, в приведенном выше примере используется OpenOrCreate, который откроет существующий или создаст новый файл, т. Е. Перезапишет любой существующий файл с этим именем в корневой папке изолированного хранилища. Подробности об этом перечислении здесь:

http://msdn.microsoft.com/en-us/library/system.io.filemode.aspx