Смотрите этот вопрос:
Xml validation using XSD schema
Это показывает, что все, что вам нужно сделать, это установить правильный вариант при создании XmlReader:
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, xsdFilePath);
settings.ValidationType = ValidationType.Schema;
settings.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(settings_ValidationEventHandler);
var reader = XmlReader.Create(source, settings);
Теперь вы будете получать информацию об ошибках валидации в settings_ValidationEventHandler
, и при необходимости загрузка документа будет прервана.