public void ValidateProductXml() { string filePath = @"..\..\Utils\Xml\Serialization\TestData\SomeProduct.xml"; //validate xmltest vs the schema xmltest.xsd which was created based on the xmltest.xml XmlValidator xmlValidate = new XmlValidator(filePath, @"..\..\Utils\Xml\Serialization\TestData\Product.xsd"); Assert.AreEqual(xmlValidate.ValidateXmlFile(), false); }
// Methode zum Validieren static void ValidateXmlFile(string xmlFileName, ValidationType validationType, string schemaFileName) { XmlValidator xmlValidator = new XmlValidator(); XmlValidator.XmlValidatorResult result; try { result = xmlValidator.ValidateXmlFile(xmlFileName, validationType, schemaFileName); } catch (XmlException ex) { Console.WriteLine(ex.Message); return; } switch (result) { case XmlValidator.XmlValidatorResult.Valid: Console.WriteLine("Die XML-Datei ist valide."); break; case XmlValidator.XmlValidatorResult.WarningsExists: Console.WriteLine("Die XML-Datei ist valide, es wurden aber Warnungen gemeldet:"); for (int i = 0; i < xmlValidator.Warnings.Count; i++) { Console.WriteLine("\r\n* " + xmlValidator.Warnings[i].ToString()); } break; case XmlValidator.XmlValidatorResult.ErrorsExists: Console.WriteLine("Die XML-Datei ist nicht valide."); // Fehler ausgeben Console.WriteLine("Die folgenden Fehler wurden gefunden:"); for (int i = 0; i < xmlValidator.Errors.Count; i++) { Console.WriteLine("\r\n* " + xmlValidator.Errors[i].ToString()); } // Überprüfen, ob Warnungen vorhanden sind, und diese ebenfalls ausgeben if (xmlValidator.Warnings.Count > 0) { Console.WriteLine("Die folgenden Warnungen wurden gemeldet:"); for (int i = 0; i < xmlValidator.Warnings.Count; i++) { Console.WriteLine("\r\n* " + xmlValidator.Warnings[i].ToString()); } } break; } }