2009-12-09 2 views
1

Программа C# нашей читает XML-файл. Файл XML имеет автономный заголовок = 'no'.Как контролировать чтение DTD с помощью .NET?

DOCTYPE используется выглядеть следующим образом:

<!DOCTYPE foo SYSTEM "silly.dtd"> 

где silly.dtd не сидит прямо рядом с файлом.

По разным причинам, я изменил это

<!DOCTYPE foo PUBLIC "-//Some Public Id" "urn:outerspace:silly.dtd"> 

Я не ожидал, что ничего изменить, поскольку DTD не может быть открыт как «./silly.dtd» раньше, и он не может быть открыт 'urn: outerspace: silly.dtd' сейчас. Единственное различие заключалось в том, что разработчику каталога не пришлось бы беспокоиться об абсолютизации идентификатора системы.

Представьте мое удивление, чтобы получить исключение из среды выполнения .NET, очевидно, пытаясь открыть DTD по адресу urn:.

Может ли какой-нибудь человек направить меня к рецепту, чтобы сказать .NET, чтобы просто спокойно сдаться в этом случае? Я знаю, как это сделать на Java, но в .NET я немного потерян.

ответ

0

Читатель не будет пытаться получить доступ к dtd, если у вас есть следующие свойства: .ProhibitDtd = false; .XmlResolver = null;

+0

Это не то, что со мной произошло. Когда я установил для преобразователя нулевое значение в параметрах считывателя, он поменял и создал распознаватель по умолчанию. – bmargulies

Смежные вопросы