繁体   English   中英

删除XML文件中的行时,使用xsd =>验证XML没有错误

[英]Validate XML with xsd => no error when delete row in the xml file

我想用xsd验证xml文件。 当我放置一个不正确的类型时,它已经可以工作,但是当我删除xml文档中的行时,它就不能工作。 怎么办

<Test>
    <TestNode1>1</TestNode1>
    <TestNode2>true</TestNode2>
    <TestNode3>true</TestNode3>
    <TestNode4>true</TestNode4>
    <TestNode5>true</TestNode5>
</Test>

<xs:element name="Test">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="TestNode1" type="xs:boolean"/>
      <xs:element name="TestNode2" type="xs:boolean"/>
      <xs:element name="TestNode3" type="xs:boolean"/>
      <xs:element name="TestNode4" type="xs:boolean"/> 
      <xs:element name="TestNode5" type="xs:boolean"/>     
    </xs:sequence>
  </xs:complexType>
</xs:element>

当我删除包含testnode4例如的行...并且当我使用此=>

XmlReaderSettings xmlSettings = new XmlReaderSettings();
xmlSettings.IgnoreWhitespace = true;
xmlSettings.Schemas = new System.Xml.Schema.XmlSchemaSet();
xmlSettings.Schemas.Add(null, xsdUri);
xmlSettings.ValidationType = ValidationType.Schema;
using (var xmlStream = File.OpenRead(xmlUri))
{
    var xmlFile = XmlReader.Create(xmlStream, xmlSettings);
    while (xmlFile.Read()) { }
}

它的工作,但我不想这个。我想错过行时出错。

谢谢。

如您在这里看到的http://www.w3schools.com/schema/el_sequence.asp

sequence元素指定子元素必须出现在序列中。 每个子元素可以出现0到任意次数。

如果希望元素每次都出现,则必须指定minOccurs属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM