Проверка соответствия xml-файла xsd-схеме:
private bool ValidateXmlWithXsd(string xmlUri, string xsdUri, bool warnings = false)
{
XmlSchema xmlSchema = XmlSchema.Read(XmlReader.Create(xsdUri), null);
XmlReaderSettings xmlReaderSettings = new XmlReaderSettings();
xmlReaderSettings.Schemas = new System.Xml.Schema.XmlSchemaSet();
xmlReaderSettings.Schemas.Add(xmlSchema);
xmlReaderSettings.ValidationType = ValidationType.Schema;
if (warnings)
{
xmlReaderSettings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
}
try
{
XmlReader reader = XmlReader.Create(xmlUri, xmlReaderSettings);
while (reader.Read()) ;
}
catch (XmlSchemaValidationException ex)
{
MessageBox.Show(ex.Message, this.Text);
return false;
}
catch (XmlException ex)
{
MessageBox.Show(ex.Message, this.Text);
return false;
}
return true;
}
Пример на github Скачать XMLValidator.zip 12,60 kB