在Visual Studio中自动将XML文件附加到XSD架构?

Her*_*ill 6 xml xsd visual-studio

我刚刚发现了Visual Studio自动生成XSD架构的美妙之处.*

是否有一种简单的方法让VS自动将具有特定名称的文件附加到现有XSD架构?因此,如果我将myconfig.xml文件分散在整个项目(或多个项目)中,我希望它们始终进行验证myconfig.xsd,而不是必须打开每个XML文件并手动关联它.这可能吗?

*对于那些不熟悉的人:Open XML文件,XML/Create Schema,它根据它在XML文件中看到的内容创建一个很好的模式文件.然后,您可以通过打开该文件并选择XML/Schema并从项目中选择适当的模式,将相同的XSD附加到另一个XML文件.然后,您将获得所有元素和属性名称,必需元素和属性等的智能感知和验证.


更新:我想我不是很清楚.

当我web.config在项目中的任何位置创建新文件时,我不会手动为其分配架构.XML中没有指定名称空间.然而,Visual Studio自动知道使用DotNetConfig.xsd:

XML Schemas对话框截图http://i46.tinypic.com/xarpfn.png

想必Visual Studio中有一个映射的地方,分配命名的文件web.configDotNetConfig.xsd.

现在,假设我希望所有命名的文件DbSchema.xml自动使用我创建的模式DbSchema.xsd.有没有办法做到这一点?

xcu*_*cut 5

如果您的模式与XML文件位于同一工作区(不一定是项目),则Visual Studio将自动使用它们进行自动完成和验证,只要您的文件具有名称空间声明即可.

您甚至不需要输入schemaLocation属性.

请尝试以下方法:

  • 双击XML文件以将其打开
  • 在动态显示的菜单项"XML"中,单击"Schemas ...".这将显示从名称空间到模式的当前映射.

要检查它是否正常工作,尝试在某处放置一个开放的尖括号,它应该建议元素名称.

编辑:这也适用于没有名称空间的XML文件,但是您可能必须向%Install%\ Xml\Schemas添加新的模式目录,如此处所述.在底部附近,它描述了如何使用"Association"元素通过扩展名关联模式.


S.L*_*ott 1

任何 XML 文档中的任何标签都可以引用模式。

请参阅此示例:http://msdn.microsoft.com/en-us/library/ms757863 (VS.85).aspx