private static void DoValidation(string xmlString)
{
XmlReaderSettings validationSettings = new XmlReaderSettings();
foreach (string eachSchema in schemaList)
{
StringReader schemaReader = null;
try
{
schemaReader = new StringReader(eachSchema);
using (XmlReader xsdXmlReader = XmlReader.Create(schemaReader))
{
string targetNameSpace = GetTargetNamespace(eachSchema);
if (string.IsNullOrEmpty(targetNameSpace))
{
validationSettings.Schemas.Add(null, xsdXmlReader);
}
else
{
validationSettings.Schemas.Add(targetNameSpace, xsdXmlReader);
}
}
}
finally
{
if (schemaReader != null)
{
schemaReader.Dispose();
}
}
}
validationSettings.ValidationType = ValidationType.Schema;
validationSettings.ConformanceLevel = ConformanceLevel.Document;
validationSettings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
validationSettings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
StringReader reader = null;
try
{
reader = new StringReader(xmlString);
using (XmlReader validationReader = XmlReader.Create(reader, validationSettings))
{
while (validationReader.Read())
{
}
}
}
finally
{
if (reader != null)
{
reader.Dispose();
}
}
}