2009-05-26 6 views
1

Je charge un XHTML valide dans un XmlDocument, mais il faut 2 secondes pour le charger. J'ai trouvé que si je laisse tomber la DTD, c'est instantané, mais alors je dois remplacer & nbsp; à & # 160 ;, etc. Le nombre d'entités HTML déclarées est important, donc je pense que la DTD devrait être chargée. Alors, quelle est la manière la plus simple de pré-charger la DTD avec un minimum de travail manuel? Peut-être si je pouvais, disons, mettre la DTD dans l'assemblage comme un fichier de ressources et l'injecter dans ..? Aucune suggestion?System.Xml.XmlDocument, quelle est la meilleure façon de mettre en cache une DTD de dépendance externe?

Répondre

1

J'ai trouvé une technique ici, en implémentant la classe abstraite XmlResolver et en la définissant sur la propriété XmlResolver de XmlDocument. L'implémentation de classe abstraite renvoie un objet MemoryStream pour l'URL demandée, qui contient la DTD ou toute autre ressource normalement chargée sur HTTP.

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

Questions connexes