在 Visual Studio IDE 中使用 XSD 进行 XML 验证

标签 xml visual-studio xsd intellisense xsd-validation

我知道我以前做过这个,但今天没用,我也找不到任何地方解释如何做。可能是我 sleep 不足,但我怀疑是小 Sprite 。

我有一个 XML 文档和一个充满定义它的 XSD 的目录。如何设置 Visual IDE 以通知我验证失败,然后在给定上下文中提供有效标签和属性的智能感知列表?

我尝试过的:

  • 我已经将 XSD 添加到带有 XML 文档的项目中。
  • 我已将 XSD 添加到 XML 架构列表(在 XML/Schemas... 菜单项下。)
  • 我什至在 XML 文档中包含了 schemaLocation 和 noNamespaceSchemaLocation 属性。

Visual Studio 仍然没有放弃任何有用的调试或编辑信息。我在 2010 年和 2008 年都尝试过(我认为我以前在 2008 年做过)

更新:我让另一位开发人员尝试了这个,但他也失败了。他知道他已经用其他 XML 文档完成了它并且成功了。然后我下载了 Oxygen XML 编辑器,它在相同的 XML 和 XSD 文件上运行良好,所以这些文件似乎没问题(或者 Oxygen 更宽容/更灵活......)

最佳答案

您需要将 Visual Studio 中的 XML 文档与您拥有的 XSD 文件相关联。

  1. 您应该会在 XML 文档的“属性”窗口中看到如下内容:

    XML Properties > Schema

  2. 在 XML 模式集编辑器中(当您在“属性”窗口的“模式”文本框中单击 (...) 省略号时打开)中,您需要确保您的模式存在。此外,确保该架构的 Use 列已启用 - 如果未启用,请单击它 - 您将获得一个选项的下拉列表,选择 Use 一个带有绿色复选标记:

    XML Schema Selector

  3. 确保 Visual Studio 的错误列表窗口可见(菜单 View > 错误列表)。这将显示 XML 和 XSD 架构定义之间的所有不一致。

  4. 所有这些都就绪后,Visual Studio XML 编辑器应该使用蓝色波浪线在编辑器中突出显示 XML 的问题:

    Example of Error

关于在 Visual Studio IDE 中使用 XSD 进行 XML 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3161224/

相关文章:

xml - 使用 libxml 和 XSD 文件在 Perl 中验证 XML

"Any number of these elements - in any order"的 XML 架构构造

java - 如何用 XML 或其他简单文件格式表示多对多关系?

javascript - 通过引用导入 momentjs 不起作用(typescript、amd)

c# - 使 .net 4 应用程序在 .net 3.5 上兼容

c++ - 在新的 Qt SDK 中,我得到 <QtInstallationDir>\QtSDK\QtCreator\lib\qtcreatorcdbext32\qtcreatorcdbext.dll 找不到错误

基于XSD的WPF表单

c# - 扩展 Microsoft.VisualStudio.TestTools.DataSource.XML

javascript - 使用 JavaScript 从架构生成 XML

android - 2 列 3 行完全适合,相对布局 (Android)