2013-09-01 28 views
0

我的Windows应用商店应用使用FileOpenPicker来允许用户浏览XML文档。我可以将XML文档作为流打开,并使用XDocument.Load([stream])加载它。UnauthorizedAccessException在Windows应用商店应用中访问XSD

但是现在,当我解析XML文档时,我想处理我发现的模式声明。我想打开一个引用的XSD并使用XDocument解析它。引用的XSD与主XML文档位于同一个文件夹中。我如何打开引用的XSD?如果我尝试通过其完整路径名来访问它,则会引发UnauthorizedAccessException对象。我不想再次使用FileOpenPicker并强制用户选择XSD ...,这会导致糟糕的用户界面。我知道XSD在哪里......它与XML有关。

那么如何在未引发UnauthorizedAccessException对象的情况下在引用的XSD上调用XDocument.Load()?

回答

1

未经许可,您不能从外部应用程序本地存储中取得任何文件,因此您必须再次使用FileOpenPicker。这是安全限制,你不能绕过它。