public IList <IError> ValidateXML(string xmlData, xsdDocument xsdDocumentType) { IList <IError> errorList = new List <IError>(); string errorHolder = string.Empty; ValidationHandler handler = new ValidationHandler(); try { XmlReaderSettings settings = GetXSD(xsdDocumentType); XmlReader xmlReader = XmlReader.Create(new StringReader(xmlData), settings); settings.ValidationEventHandler += new ValidationEventHandler(handler.HandleValidationError); using (XmlReader validatingReader = XmlReader.Create(new StringReader(xmlData), settings)) { while (validatingReader.Read()) { } } errorList = handler.ValidationErrors; } catch (Exception ex) { errorList.Add(new ValidationError() { errorMessage = ex.Message }); } return(errorList); }
private XmlReaderSettings GetXSD(xsdDocument xsdDocumentType) { XmlReaderSettings xsd = null; bool resultget; lock (syncLockoAuthData) { resultget = xsdDictionary.TryGetValue(xsdDocumentType.ToString(), out xsd); } return(xsd); }