Я пытаюсь проверить входящий входной xmlDocument с существующим XmlSchemaSet.Ниже приведен код:
public class ValidateSchemas
{
private bool _isValid = true;
public List<string> errorList = new List<string>();
public bool ValidateDocument(XmlDocument businessDocument)
{
XmlSchemaSet schemaSet = SchemaLoader.Loader();
bool isValid = Validate(businessDocument, SchemaLoader._schemaSet);
return isValid;
}
public bool Validate(XmlDocument document, XmlSchemaSet schema)
{
ValidationEventHandler eventHandler = new ValidationEventHandler(HandleValidationError);
document.Schemas = schema;
document.Validate(eventHandler);
return _isValid;
}
private void HandleValidationError(object sender, ValidationEventArgs ve)
{
_isValid = false; errorList.Add(ve.Message);
}
}
Код работает нормально с точки зрения проверки.Однако errorList фиксирует только ошибку первого узла.Он не фиксирует ошибки других узлов.Похоже, мероприятие начинается только один раз.Как это сделать, пожалуйста, помогите.Обратите внимание, что я получаю xmldocument в качестве входных данных, поэтому я не использую ридер.