Я пытаюсь проверить XML на соответствие XSD.Я нашел несколько способов сделать это.Эти два хорошо работают при написании всех ошибок, так что для чего предназначено каждое из них?
Классы XmlDocument и XmlSchema
XmlDocument document = new XmlDocument();
document.Load(xmlFilePath);
document.Schemas.Add(@namespace,schemaFilePath);
document.Validate(ValidationHandler);
-----
public void ValidationHandler(object sender, ValidationEventArgs e)
{
Console.WriteLine(e.Message);
}
Класс XmlReaderSettings
Здесь я могу сделать некоторые настройки, и проверка произойдет уже при выполнении Load ().
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationEventHandler += new ValidationEventHandler(ValidationHandler);
settings.Schemas.Add(@namespace, schemaFilePath));
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(xmlFilePath, settings);
document.Load(reader);
reader.Close();
-----
public void ValidationHandler(object sender, ValidationEventArgs e)
{
Console.WriteLine(e.Message);
}