从您的问题中,我可以理解您的文件在启动时应该存在于隔离存储中。我要问的是,它将在您的应用程序中获取该文件的位置?
所以显然你需要添加到应用程序资源中。右键单击解决方案资源管理器并添加 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 文件的数据读入字符串数据变量。
如果您对将其保存到独立存储非常严格,那么您可以检查存储是否包含此文件,以及是否不将文件添加到存储中,否则您只能从存储中加载它。
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);
}
}
}
}