У C# есть класс XmlSchemaSet, с помощью которого можно работать с xml файлами.
Ключевое слово вопроса -
все .
Дело в том, что код с документации сайта microsoft при проверке xml-файла по xsd-схеме, вызывает исключение (при наличии ошибок в xml файле) и программа останавливается при нахождении первой ошибки.
Код C#:
public static void Main()
{
// Create the XmlSchemaSet class.
XmlSchemaSet sc = new XmlSchemaSet();
// Add the schema to the collection.
sc.Add(null, "shema.xsd");
// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas = sc;
settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("my.xml", settings);
// Parse the file.
while (reader.Read()) ;
}
// Display any validation errors.
private static void ValidationCallBack(object sender, ValidationEventArgs e)
{
Console.WriteLine("Validation Error: {0}", e.Message);
}
Мне же нужно, чтобы проверка xml продолжалась, после нахождения первой ошибки , чтобы в итоге собрать инфу о
позиции, типе
всех ошибок, найденных в xml файле.
После изучения документации microsoft мне кажется, что дальнейшая проверка файла xml после вызова исключения невозможна, но все же напишу здесь свой вопрос , чтобы точно убедиться , если это так)