我正在根據模式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