using System; using System.Xml; using System.Xml.Schema; class ConsoleValidator { private bool failed; public bool Failed { get { return failed; } } public bool ValidateXml(string xmlFilename, string schemaFilename) { XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; XmlSchemaSet schemas = new XmlSchemaSet(); settings.Schemas = schemas; schemas.Add(null, schemaFilename); settings.ValidationEventHandler += ValidationEventHandler; XmlReader validator = XmlReader.Create(xmlFilename, settings); failed = false; try { while (validator.Read()) { } } catch (XmlException err) { Console.WriteLine(err.Message); failed = true; } finally { validator.Close(); } return !failed; } private void ValidationEventHandler(object sender, ValidationEventArgs args) { failed = true; Console.WriteLine("Validation error: " + args.Message); } } class MainClass { private static void Main() { ConsoleValidator consoleValidator = new ConsoleValidator(); bool success = consoleValidator.ValidateXml("ProductCatalog.xml", "ProductCatalog.xsd"); Console.WriteLine(success); } }