我的 Windows 应用商店应用程序使用 FileOpenPicker 允许用户浏览到 XML 文档。我可以将 XML 文档作为流打开并使用 XDocument.Load([stream]) 加载它。
但是现在,当我解析 XML 文档时,我想处理我找到的模式声明。我也想打开一个引用的 XSD 并使用 XDocument 解析它。引用的 XSD 与主 XML 文档位于同一文件夹中。如何打开引用的 XSD?如果我尝试通过其完整路径名访问它,则会引发 UnauthorizedAccessException 对象。我不想再次使用 FileOpenPicker 并强制用户选择 XSD ...这会导致用户界面不佳。我知道 XSD 在哪里……它在 XML 中。
那么如何在引用的 XSD 上调用 XDocument.Load() 而不抛出 UnauthorizedAccessException 对象呢?