Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como parsear un XML muy grande?

Estas en el tema de Como parsear un XML muy grande? en el foro de Programación General en Foros del Web. Hola este es mi primer post, haber si me pueden ayudar con este tema. En mi webserver necesito parsear 2 archivos XML, uno de 5 ...
  #1 (permalink)  
Antiguo 23/01/2009, 14:47
 
Fecha de Ingreso: septiembre-2007
Mensajes: 2
Antigüedad: 16 años, 7 meses
Puntos: 0
Como parsear un XML muy grande?

Hola este es mi primer post, haber si me pueden ayudar con este tema.

En mi webserver necesito parsear 2 archivos XML, uno de 5 MB y otro de 30 MB, actualmente lo estoy haciendo con php, usando PHP/CLI para que funcione mas rápido.

Sin embargo aun asi es demasiado lento, el de 5 MB, se tarda 2 Horas en recorrerse, y el otro son mas de 6 Horas .

Les comento que el xml(es un archivo local), baja 4 imágenes por item del XML, estas desde una url.

Mi pregunta es existe un forma mas rápida de poder hacer esto sin Php, es que necesito optimizar esto.

Les cuento que al leer el xml, actualizo una base de datos en MySQL, y para leer el xml, utilizo SimpleXmlElement.

Sera mas rápido hacerlo con Perl, o con c, estoy trabajando sobre Linux, y no se manejar (casi nada) Perl y c (muy poquito).

¿Alguna opción?, esta optimizacion es necesaria, por que próximamente estaremos cargando quizá un par de archivos XML mas.

Muchas gracias, ojala y me puedan ayudar con esto.
  #2 (permalink)  
Antiguo 24/01/2009, 10:05
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Como parsear un XML muy grande?

PHP es un lenguaje de muy alto nivel, lo que significa que es lento, C es el de más bajo nivel, por lo cual el más rápido sin lugar a duda...

PERL es el punto medio perfecto entre ambos (es mi lenguaje favorito)...Intenta hacer un simple script con el módulo XML::Simple, búscalo en search.cpan.org

Seguramente valla un poco más rápido, si todavía necesitas más velocidad puedes usar C o intentar parsearlo a mano, con expresiones regulares y esas cosas...En vez de usar el XML::Simple

Espero que te sirva

Saludos
__________________
Esteban Quintana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:49.