С вашего вопроса я могу понять, что ваш файл должен присутствовать в изолированном хранилище при его запуске. Я спрашиваю вас, где он будет получать этот файл в вашем приложении?
Очевидно, что вам нужно добавить ресурсы приложения. Щелкните правой кнопкой мыши на проводнике решений и добавьте xml-файл. Измените привязку файла от содержимого к ресурсу.
Используйте следующий код, чтобы получить данные из XML-файла.
StreamResourceInfo strm = Application.GetResourceStream(new Uri("/NewApp;component/Sources/employees.xml", UriKind.Relative));
StreamReader reader = new StreamReader(strm.Stream);
string data = reader.ReadToEnd();
В этом коде я предположил, что NewApp моего имя приложения и я сохранил сотрудник XML-файл в папке Sources я создал. Я прочитал данные xml-файла в переменной строковых данных.
Если вы так строги в том, чтобы хранить его в IsolStorage, то вы можете проверить, содержит ли хранилище этот файл, и если он не добавляет файл в хранилище, иначе вы можете загрузить его только из хранилища.
using (var storage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (storage.FileExists("employees.xml"))
{
//Load it
}
else
{
System.Windows.Resources.StreamResourceInfo strm = Application.GetResourceStream(new Uri("/NewApp;component/Sources/employees.xml", UriKind.Relative));
System.IO.StreamReader reader = new System.IO.StreamReader(strm.Stream);
string data = reader.ReadToEnd();
using (var file = storage.OpenFile("employees.xml", System.IO.FileMode.Create))
{
using (var writer = new System.IO.StreamWriter(file))
{
writer.WriteLine(data);
}
}
}
}
Зачем нужна его в Inventory? Вы собираетесь изменить содержимое xml во время выполнения? –
Хотя доступны инструменты ISOExplorer, как можно скопировать его на хранение во время выполнения. Я понимаю, что вы используете его для тестирования, но все же мне интересно, почему? – Mani