我有一个本地xml文件,需要在我的应用程序时将其加载到隔离存储。第一次开始。但是,如果我使用流或文件打开该文件。打开它会引发错误。 此外,我需要以序列化形式存储该文件。请帮助,因为对WP7和C#的新手不能破解它。
以下代码用于打开XML文件:
FileStream stream = new FileStream("site.xml", FileMode.Open);
答案 0 :(得分:2)
如果文件是项目的一部分,那么您可以将文件作为资源添加到项目中。这意味着该文件的文件“Build Action”应为“资源”。以下函数可以从项目资源中读取文件。
Stream stream = this.GetType().Assembly.GetManifestResourceStream("Namespace.FileName.FileExtentation");
现在您可以根据文件类型读取流。如果它是XML文件,那么您可以像下面一样阅读它。
举个例子
XElement element = XElement.Load(stream);
foreach (XElement phraseElement in element.Elements())
{
MyClass foo = new foo();
foreach (XAttribute attribute in phraseElement.Attributes())
foo.Text = attribute.Value;
}
如何写入隔离存储并从隔离存储中读取文件?请查看以下链接
http://www.codebadger.com/blog/post/2010/09/03/Using-Isolated-Storage-on-Windows-Phone-7.aspx
您还可以查看以下有关Windows Phone的本地数据存储的链接。
http://msdn.microsoft.com/en-us/library/ff626522%28v=vs.92%29.aspx
答案 1 :(得分:1)
您还需要为任何内容类型资源指定FileAccess模式,因为您无法在写入模式下打开它。
尝试将您的代码更改为:
FileStream stream = new FileStream("site.xml", FileMode.Open, FileAccess.Read);
另请参阅此问题:How to fix exception MethodAccessException during file reading?