Проблема проверки XML-файла с локальным DTD-файлом в C #
Я пытаюсь проверить файл XML. Я использую этот код
XmlReaderSettings settings = new XmlReaderSettings();
settings.ProhibitDtd = false;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler(validationError);
XmlSchemaSet schemas = new XmlSchemaSet();
settings.Schemas = schemas;
XmlReader reader = XmlReader.Create(lblXmlPath.Text, settings);
reader.Settings.Schemas.Add(null, lblDTDPath.Text);
while (reader.Read())
{
// empty by now
}
reader.Close();
Но в строке "reader.Settings.Schemas.Add (null, lblDTDPath.Text);" Visual Studio показывает мне эту ошибку: «Из соображений безопасности DTD запрещен в этом документе XML. Чтобы включить обработку DTD, установите для свойства ProhibitDtd объекта XmlReaderSettings значение false и передайте настройки в метод XmlReader.Create».
Как видно из кода, для ProhibitDtd установлено значение false (я проверял и во время отладки). Я также попытался добавить схему перед вызовом XmlReader.Create (), но безуспешно.