Звучит так, как будто в вашей схеме определено xsd:sequence
, и ошибка возникает, когда порядок элементов в вашем документе не соответствует порядку элементов, определенных в схеме.
С учетом этой схемы:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Dog">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Age" type="xsd:int"/>
<xsd:element name="Name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
и этот XML:
<Dog>
<Name>Rex</Name>
<Age>three</Age>
</Dog>
Вы можете себе представить, что проверка создаст две ошибки:
1. The element 'Dog' has invalid child element 'Name'.
2. The 'Age' element is invalid - The value 'three' is invalid according to its datatype
Но вы видите только первую ошибку. Это связано с тем, что из-за первой ошибки недопустимого дочернего элемента XmlReader
невозможно проанализировать оставшуюся часть документа, поскольку он больше не знает, чего ожидать дальше.