C# 将条目从联机XML文件写入独立存储

C# 将条目从联机XML文件写入独立存储,c#,xml,silverlight,visual-studio-2010,windows-phone-7,C#,Xml,Silverlight,Visual Studio 2010,Windows Phone 7,我有一个简单的SilverlightWP7应用程序,可以读取在线XML文件的内容并显示它们。然而,总共可能有150个项目,滚动浏览这些项目可能会非常不方便。所以,我想做一个“收藏夹”页面。当您单击列表中的任何项目时,它会将其写入应用程序包中的单独XML文件。在它写入XML之后,我需要确保每次加载应用程序时它仍然会更新列表,而不是在写入时严格保存该条目的内容。执行此操作的最佳方法是什么?首先使用获得相关的隔离存储文件,然后使用创建文件。它返回一个流,您可以用正常方式写入该流: using (var

我有一个简单的SilverlightWP7应用程序,可以读取在线XML文件的内容并显示它们。然而,总共可能有150个项目,滚动浏览这些项目可能会非常不方便。所以,我想做一个“收藏夹”页面。当您单击列表中的任何项目时,它会将其写入应用程序包中的单独XML文件。在它写入XML之后,我需要确保每次加载应用程序时它仍然会更新列表,而不是在写入时严格保存该条目的内容。执行此操作的最佳方法是什么?

首先使用获得相关的
隔离存储文件,然后使用创建文件。它返回一个
,您可以用正常方式写入该流:

using (var storage = IsolateStorageFile.GetUserStoreForApplication())
using (var stream = storage.CreateFile("test.xml"))
{
    doc.Save(stream); // Where doc is an XDocument
}
就这么简单


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

您可以将项目存储到IsolatedStorage中的XML文件中,就像您对任何其他文件所做的那样


加载应用程序时,您需要在应用程序\u启动事件处理程序(在App.xaml.cs中)中设置操作-例如,您可以创建一个列表,该列表将绑定到从加载的XML文件中获取包含元素的ListView元素。

我不能创建一个“favorites.XML”吗写入到的项目中的文件?或者这是一种效率较低的方法?创建单个文件正是您应该做的。只是IsolatedStorageFile是一个表示整个存储单元的对象。@user502672:如果在项目中创建文件,这将最终成为XAP文件中的一个资源—我非常怀疑您是否能够从应用程序写入该文件。有谁知道一个很好的教程,说明如何将条目写入隔离存储文件?我打算添加条目,只要按一下就可以了。按钮的功能是什么?