Qual é a maneira mais rápida de verificar programaticamente a boa formação dos arquivos XML em C #?

Tenho grandes lotes de arquivos XHTML atualizados manualmente. Durante a fase de revisão das atualizações, eu gostaria de verificar programaticamente a boa formação dos arquivos. Atualmente, estou usando um XmlReader, mas o tempo necessário em uma CPU média é muito maior do que eu esperav

Os arquivos XHTML variam em tamanho de 4KB a 40 KB e a verificação leva vários segundos por arquivo. A verificação é essencial, mas eu gostaria de manter o tempo o mais curto possível, pois a verificação é realizada enquanto os arquivos estão sendo lidos na próxima etapa do process

Existe uma maneira mais rápida de fazer uma verificação simples de boa formação de XML? Talvez usando bibliotecas XML externas?

Posso confirmar que a validação de conteúdo baseado em XML "regular" é extremamente rápida usando o XmlReader e, conforme sugerido, o problema parece estar relacionado ao fato de que o XHTML DTD é lido sempre que um arquivo é validad

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Observe que, além da DTD, os arquivos .ent correspondentes (xhtml-lat1.ent, xhtml-symbol.ent, xhtml-special.ent) também são baixado

Como ignorar o DTD completamente não é realmente uma opção para XHTML, pois a boa formação está intimamente ligada a entidades HTML permitidas (por exemplo, um & nbsp; introduzirá prontamente erros de validação quando ignorarmos o DTD

O problema foi resolvido usando umcustom XmlResolveromo sugerido, em combinação com cópias locais (incorporadas) dos arquivos DTD e de entidad

Vou postar a solução aqui assim que limpar o código

questionAnswers(6)

yourAnswerToTheQuestion