在WP7中打开本地xml文件

本文关键字:xml 文件 WP7 | 更新日期: 2023-09-27 18:07:00

我有一个本地xml文件,需要在我的应用程序第一次启动时将其加载到隔离存储。但如果我使用流或文件打开该文件。打开它抛出一个错误。我还需要以序列化的形式存储该文件。请帮助,作为WP7和c#的新手无法破解它。

下面的代码用于打开XML文件:
FileStream stream = new FileStream("site.xml", FileMode.Open);

在WP7中打开本地xml文件

如果该文件是项目的一部分,那么您可以将该文件作为资源添加到项目中。这意味着文件的"Build Action"应该是"Resource"。下面的函数可以从项目资源中读取文件。

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 -分离-存储-电话- windows - 7. - aspx

你也可以查看下面关于Windows Phone本地数据存储的链接。

http://msdn.microsoft.com/en-us/library/ff626522%28v=vs.92%29.aspx

您还需要为任何Content类型的资源指定FileAccess模式,因为您不能以写模式打开它。

试着把你的代码改成:

FileStream stream = new FileStream("site.xml", FileMode.Open, FileAccess.Read);

同样,参见这个问题:如何修复读取文件期间的异常MethodAccessException ?