将条目从在线XML文件写入隔离存储

Dan*_*Dan 2 c# xml silverlight visual-studio-2010 windows-phone-7

我有一个简单的Silverlight WP7应用程序,它可以读取在线XML文件的内容并显示它们.但是,总共可能有150个项目,滚动它们都非常不方便.所以,我想制作一种"收藏夹"页面.单击列表中的任何项目时,它会将其写入应用程序包中的单独XML文件.在写入该XML之后,我需要确保每次加载应用程序时它仍然更新列表,而不是在写入时严格保存该条目的内容.有什么方法可以解决这个问题?

Jon*_*eet 5

首先,您将获得相关的IsolatedStorageFile使用IsolateStorageFile.GetUserStoreForApplication(),然后使用创建文件IsolatedStorageFile.CreateFile.返回一个Stream你可以用正常方式写的东西:

using (var storage = IsolateStorageFile.GetUserStoreForApplication())
using (var stream = storage.CreateFile("test.xml"))
{
    doc.Save(stream); // Where doc is an XDocument
}
Run Code Online (Sandbox Code Playgroud)

就这么简单.

一个关键点是避免将其IsolatedStorageFile视为单个文件 - 将其视为应用程序的整个驱动器.它可以包含文件,目录等.它可能最终成为本机文件系统中的单个文件,但您的应用程序不需要知道或关心它.