Tengo un archivo XML de 1 GB y quiero analizarlo. Si uso XML Textreader o XMLDocument, el resultado es muy lento y algunas veces se cuelga ...¿Cuál es la mejor manera de analizar XML grande (tamaño de 1 GB) en C#?
Respuesta
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.
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.
Podría estar colgando debido a restricciones de recursos en el sistema operativo o en el nivel del sistema de archivos. –
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.
}
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.
me gustaría hacer copias de seguridad a todos los que promueve XmlReader con una comparación de rendimiento que he encontrado:
http://www.nearinfinity.com/blogs/joe_ferner/performance_linq_to_sql_vs.html
- 1. ¿Cuál es la mejor forma de analizar XML (grande) en C# Code?
- 2. ¿Cuál es la mejor manera de combinar archivos de gran tamaño (40 GB +)
- 3. models.py hacerse grande, ¿cuál es la mejor manera de romperlo?
- 4. ¿Cuál es la mejor manera de analizar una gramática simple?
- 5. ¿Cuál es la mejor manera de analizar un atributo booleano XML (en .NET)?
- 6. ¿cuál es la mejor manera de analizar la respuesta XML en AJAX
- 7. ¿Cómo leer un archivo txt grande (1 GB) en .NET?
- 8. ¿Cuál es la mejor manera de analizar una cadena de palabras "malas" en C#?
- 9. ¿Cuál es la mejor manera de leer y analizar un archivo de texto grande a través de la red?
- 10. ¿La mejor manera de analizar un archivo de coma flotante grande almacenado en ASCII?
- 11. ¿Cuál es la mejor manera de escribir comentarios en C?
- 12. La mejor manera de comprimir XML
- 13. ¿Cuál es la mejor manera de escribir un archivo grande en un disco en PHP?
- 14. ¿La mejor manera de analizar el flotador?
- 15. ¿Cuál es la forma más rápida de analizar grandes documentos XML en Python?
- 16. ¿Cuál es la mejor manera de analizar muchos argumentos complejos de línea de comandos en Java?
- 17. ¿Cuál es la mejor manera de analizar Paypal NVP en PHP?
- 18. ¿Cuál es la mejor manera de guardar datos XML en SQL Server?
- 19. Subir archivos de gran tamaño (1 GB) -ASP.net
- 20. ¿Cuál es la mejor manera de manejar FBO en OpenGL?
- 21. ¿Cuál es la mejor manera de analizar el archivo de Excel en Perl?
- 22. ¿Cuál es la mejor manera de analizar los números localizados de .NET/Razor en javascript?
- 23. ¿Cuál es la mejor forma de analizar cadenas?
- 24. ¿Puede Python xml ElementTree analizar un archivo xml muy grande?
- 25. ¿Cuál es la mejor manera de almacenar datos de tendencia?
- 26. ¿Cuál es la mejor manera de calcular el tamaño de un directorio en VB .NET?
- 27. Cuál es la mejor manera de almacenar datos XML en un archivo de Excel
- 28. ¿Cuál es la mejor manera de eliminar toda una tabla grande en t-sql?
- 29. ¿Cuál es la mejor manera de analizar un archivo delimitado por tabuladores en Ruby?
- 30. ¿Cuál es la mejor manera de crear consultas complejas RESTful?
lo bueno que hace url descaradamente enchufado? – grapefrukt
Nada, especialmente ahora que ya no está. –