UnauthorizedAccessException在Windows应用商店应用中访问XSD

时间:2013-09-01 02:41:37

标签: windows-8 xsd load linq-to-xml

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

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

那么如何在没有抛出UnauthorizedAccessException对象的情况下在引用的XSD上调用XDocument.Load()?

1 个答案:

答案 0 :(得分:1)

如果没有使用权限,您无法从外部应用程序本地存储中获取任何文件,因此您必须再次使用FileOpenPicker。这是安全限制,你无法绕过它。