使用metro应用程序Windows 8从“我的文档”中读取XML文件

时间:2013-08-04 00:51:36

标签: c# xml microsoft-metro

我的“my documents”文件夹中的读取xml文件存在问题。我在“我的文档”中的数据文件夹中创建了一个xml文件。我已经更改了应用程序的功能但是在XmlReader读取器行中,有一个异常触发“访问路径'C:\ Users ... \ Documents \ DomusGest \ DomusGestFile.xml'被拒绝。”

                StorageFolder storageFolder = null;
                StorageFile storageFile = null;
                storageFolder = await KnownFolders.DocumentsLibrary.GetFolderAsync("Data");
                storageFile = await storageFolder.GetFileAsync("DataXML.xml");
                string storageFilePath = storageFile.Path;


                XmlReader reader = XmlReader.Create(storageFilePath);
                while (reader.Read())
                {
                    if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "Apparmtment"))
                    {
                        if (reader.HasAttributes)
                            {
                                WriteXML.Text = reader.GetAttribute("name");//write on Win8 App
                            }
                    }
                }

使用相同的代码,如果文件位于metro app解决方案的文件夹中,我可以读取该文件。

我做错了什么?

谢谢

1 个答案:

答案 0 :(得分:0)

您需要转到属性,功能并激活文档库访问功能。然后,您需要更新应用程序清单,声明您希望在您的案例中阅读“.xml”的文档类型;这可以从声明选项卡中完成。

这可以做到,但是,请记住,对于用户或您(开发人员)来说,这不是最佳选择。对于用户而言,这是不安全的,并且必须接受该功能,可能(虽然我怀疑)吸引一些用户。另一方面,用户可以更容易地修改此XML(或其他应用程序),您将不得不处理它。