我正在根据模式xsd验证XML文件。到目前为止,代码在失败的情况下会生成一个异常。根据模式文件验证xml后获取错误列表
bool isValid = true;
List<string> errorList = new List<string>();
try
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, schemaFilePath);
settings.ValidationType = ValidationType.Schema;
XmlDocument document = new XmlDocument();
document.LoadXml(xml);
XmlReader rdr = XmlReader.Create(new StringReader(document.InnerXml), settings);
while (rdr.Read()) { }
}
catch (Exception ex)
{
errorList.Add(ex.Message);
isValid = false;
}
LogErrors(errorList);
return isValid;
但我需要的代码建立在验证中发现之前它发送到我的日志中的所有错误的清单,而不是始终只显示找到的第一个。
有什么想法?
你抓不做任何处理错误。你得到的错误是什么,你为什么不对它做任何事情? – gunr2171
为什么不用返回异常呢?然后简单地记录它,或者放在数组或列表中。 –
该例外在当时退出验证时只保留一个错误。我想将所有错误存储在列表中,然后将其返回以进行处理。 上面的代码只是我找到的一个例子。 – Rafael