C# 阻止无效元素XSD?

C# 阻止无效元素XSD?,c#,xsd,C#,Xsd,我有一个简单的XSD: <xs:element name="config"> <xs:complexType> <xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:element name="group" type="xs:string"/> </xs:sequence> </xs:complexType>

我有一个简单的XSD:

    <xs:element name="config">
    <xs:complexType>
      <xs:sequence minOccurs="1" maxOccurs="unbounded">
        <xs:element name="group" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    </xs:element>

在我的xml文件中,我放了以下内容:

<config>
<group></group>
<a></a> 
</config>

如何阻止在我的xml上插入
标记

Obs:group出现在我的C#xml编辑器的自动完成上

除非您自己编写一个能够动态理解和解释XSD模式的XML编辑器,否则无法“阻止”插入

您可以做的是验证根据模式创建的XML,如果它无效,则拒绝它


Marc在我看来,您想要排除的标记应该是“config”标记的子标记,就像group一样。如果它与“config”有关系,并且仅当其父项有关系时才应出现,则需要将其表示出来。

问题已解决

是我的Visual Studio Express版上的错误

VisualStudio2008(完整版本)进程XSD正确


谢谢大家

马克,我认为这不是真的!!当我使用NHibernate XSD时,在VisualStudio错误列表上接收到一个错误,该错误涉及无效元素。但我没有找到执行此验证的特殊“标记或属性”。示例:尝试在Nhibernate Xml映射文件中使用名为“anything”的标记,您会在VisualStudio错误列表中收到错误!!谢谢重播!!当VisualStudio知道模式时,它将自动验证XML。NHibernate很可能会将其模式安装到VS中。您可以通过转到XML->schemas(如果内存可用)查看XML文件中验证的模式。Visual studio正确验证我的XML(我认为),因为配置和组thag似乎是自动完成的。恢复:Visual Studio现在已经开始讨论配置和组标记了。是的-正如我所说的,如果您使用Visual Studio或编写自己的编辑器来验证基于XML模式的XML,您可以动态验证并提供反馈-但您不能真正“阻止”任何人键入错误的无效XML文档。。。。。(您只能强调它是错误的)我如何表示“”标记是config标记上的invaid元素?