private static void ValidateSpecialXml(string xmlString)
{
XmlReaderSettings validationSettings = new XmlReaderSettings();
foreach (string eachSchema in schemaList)
{
using (StringReader 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);
}
}
}
}
validationSettings.ValidationType = ValidationType.Schema;
validationSettings.ConformanceLevel = ConformanceLevel.Document;
validationSettings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
validationSettings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
using (StringReader reader = new StringReader(xmlString))
{
using (XmlReader validationReader = XmlReader.Create(reader, validationSettings))
{
while (validationReader.Read())
{
}
}
}
}