Я написал некоторый код в формах окон C #, привязанный к кнопке проверки.
Код здесь: моя кнопка подтверждения . Код проверяет проверку XML-файла с помощью схемы XSD. Если возникает исключение, оно выбрасывает текст исключения в текстовое поле, и программа останавливает проверку.
Я хотел бы записать ошибки / исключения в нечто вроде массива, а затем распечатать ошибки в текстовом поле.
Как это сделать?
private void validateButton_Click(object sender, System.EventArgs e)
{
resultTextBox.Text = String.Empty;
if (ValidateForm())
{
try
{
Cursor.Current = Cursors.WaitCursor;
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add(String.Empty, XmlReader.Create(new StreamReader(xmlSchemaFileTextBox.Text)));
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas = schemaSet;
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(new StringReader(inputXmlTextBox.Text), settings);
while (reader.Read()) { }
resultTextBox.Text = "The XML file is OK :)" +
Environment.NewLine +
DateTime.Now.ToLongDateString();
}
catch (XmlSchemaException schemaEx)
{
resultTextBox.Text = "The XML file is invalid:" +
Environment.NewLine +
schemaEx.LineNumber +
": " +
schemaEx.Message;
}
catch (Exception ex)
{
resultTextBox.Text = ex.ToString();
}
finally
{
Cursor.Current = Cursors.Default;
}
}
else
{
MessageBox.Show(null, "You have to load XML and XSD files to validate.", "There's XML file reading error.", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}