2011-10-06 24 views
12

Necesito leer archivos XML grandes que pueden tener varios GB de tamaño.Lectura de documentos XML de gran tamaño en .net

Intenté usar XDocument, pero arroja una excepción System.OutOfMemoryException cuando intento cargar el documento.

¿Cuál es la forma más eficaz de leer archivos XML de gran tamaño?

+0

Si se ejecutan en 64 bits y desea una solución rápida para OutOfMemoryException: vaya a las propiedades de su proyecto -> pestaña de compilación -> objetivo de la plataforma: cambie cualquier CPU a "x64". – user1073075

Respuesta

13

Básicamente tienen para usar el modelo "pull" aquí - XmlReader y sus amigos. Eso le permitirá transmitir el documento en lugar de cargarlo todo en la memoria de una vez.

Tenga en cuenta que si sabe que está al principio de un elemento "suficientemente pequeño", puede crear un XElement from an XmlReader, ocuparse de eso utilizando la gloria de LINQ a XML, y luego pasar al siguiente elemento.

Cuestiones relacionadas