System.Xml.XmlDocument, как лучше всего кэшировать DTD внешней зависимости? - PullRequest
1 голос
/ 27 мая 2009

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

1 Ответ

1 голос
/ 27 мая 2009

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

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

...