System.Xml.XmlDocument, как лучше всего кэшировать DTD внешней зависимости?

Я загружаю действительный XHTML в XmlDocument, но загрузка занимает 2 секунды. Я обнаружил, что если я удаляю DTD, это происходит мгновенно, но затем мне приходится заменять его на  и т. д. Количество объявленных объектов HTML велико, поэтому я считаю, что DTD следует загрузить. Так как же проще всего предварительно загрузить DTD с минимальным ручным трудом? Возможно, если бы я мог, скажем, поместить DTD в сборку как файл ресурсов и внедрить его в...? Какие-либо предложения?


person Jon Davis    schedule 26.05.2009    source источник


Ответы (1)


Я нашел способ здесь, реализовав абстрактный класс XmlResolver и задав для него свойство XmlResolver XmlDocument. Реализация абстрактного класса возвращает объект MemoryStream для запрошенного URL-адреса, который содержит DTD или любой другой ресурс, который обычно загружается через HTTP.

http://www.codeproject.com/KB/XML/HTML2XHTML.aspx?display=Print

person Jon Davis    schedule 26.05.2009