3
我想驗證傳入輸入xmlDocument對現有的XmlSchemaSet。以下是代碼:XmlDocument.Validate不會觸發多個錯誤
public class ValidateSchemas
{
private bool _isValid = true;
public List<string> errorList = new List<string>();
public bool ValidateDocument(XmlDocument businessDocument)
{
XmlSchemaSet schemaSet = SchemaLoader.Loader();
bool isValid = Validate(businessDocument, SchemaLoader._schemaSet);
return isValid;
}
public bool Validate(XmlDocument document, XmlSchemaSet schema)
{
ValidationEventHandler eventHandler = new ValidationEventHandler(HandleValidationError);
document.Schemas = schema;
document.Validate(eventHandler);
return _isValid;
}
private void HandleValidationError(object sender, ValidationEventArgs ve)
{
_isValid = false; errorList.Add(ve.Message);
}
}
該代碼從驗證角度正常工作。但是,errorList只捕獲第一個節點錯誤。它不捕獲其他節點錯誤。看起來事件只會被解僱一次。如何做到這一點,請幫助。請注意我得到xmldocument作爲輸入,因此不使用讀者。
我正在尋找相同的東西,但這似乎不可能。 – juFo
XDocument.Validate在可能的情況下似乎返回多個錯誤。 – 2013-02-03 22:01:40