2009-01-22 21 views

Respuesta

12

Deberá implementar lógica personalizada utilizando xmlreader. xmlreader no carga el XML completo en la memoria antes de usarlo, lo que significa que puede leerlo desde una secuencia y procesarlo como tal.

6

Se dice que XMLTextreader no se bloquea como está basado en la secuencia y solo funciona en fragmentos de los datos.

Si se cuelga, puede ser que esté haciendo algo mal al cargar el archivo.

+0

Podría estar colgando debido a restricciones de recursos en el sistema operativo o en el nivel del sistema de archivos. –

8

XmlDocument no es factible en este escenario, ya que intentará absorber ese gigabyte en la memoria principal. Me sorprende que encuentres que XmlTextReader sea demasiado lento. ¿Has probado algo como lo siguiente?

using (XmlTextReader rdr = new XmlTextReader("MyBigFile.txt")) 
{ 
    // use rdr to advance through the document. 
} 
1

no estoy muy familiarizado con este tema, pero que yo sepa los XmlReader-clases se debe trabajar bien para su problema específico. Después de todo, están optimizados para exactamente esto.

Cuestiones relacionadas