【问题标题】:Read XML file fom "My documents" with metro app Windows 8使用 Metro 应用程序 Windows 8 从“我的文档”中读取 XML 文件
【发布时间】:2013-08-04 00:51:35
【问题描述】:

我在从“我的文档”文件夹中读取 xml 文件时遇到问题。我在“我的文档”中的文件夹 Data 中创建了一个 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 应用解决方案的文件夹中,我可以读取该文件。

我做错了什么?

谢谢

【问题讨论】:

    标签: c# xml microsoft-metro


    【解决方案1】:

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

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

    【讨论】:

    • 嗨丹尼尔罗佐。我对此很清楚。但这是我想到的另一个选择。第一个选项是在应用解决方案中使用 xml 文件。并且可以读取文件,但我无法编辑或将任何内容保存到同一个文件中。在上述情况下,我可以保存和创建文件夹和文件,但我无法读取它。这很奇怪,因为我可以一边做一件事,一边做另一件事。
    • 文件的放置位置由您决定。关于您的问题,如果您尝试我的回答,您将能够从用户文档中读取文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多