Не видя определения MyClass
и XML, который вы пытаетесь прочитать, трудно дать однозначный ответ. Тем не менее, текст исключения довольно очевиден, разметка XML имеет неправильный формат, а не содержит неизвестный элемент или атрибут, например:
<AnotherTag>
<MyTag>
</AnotherTag> <--- This should be </MyTag>
</MyTag> <--- This should be </AnotherTag>
Обработчики UnknownAttribute / UnknownElement не поймут это, потому что структура XML в корне неверна. Эти события нельзя вызывать до тех пор, пока документ XML не будет успешно проанализирован в дереве узлов, дочерних узлов, атрибутов и т. Д.
Просто для дальнейшего объяснения немного о UnknownAttribute / UnknownElement; если бы вашему классу / XML было разрешено содержать только элементы с именами Field1 и Field2 , вы бы обнаружили событие UnknownElement, если у вас был элемент с именем Field3 ваш XML. InvalidOperationException
вызывается, потому что XML не является XML, событие UnknownElement
вызывается, потому что в XML есть элемент, который является неожиданным, хотя XML в противном случае допустим.