[英]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.