<div dir="ltr"><div class="gmail_default" style="font-family:'courier new',monospace;color:rgb(0,0,0)">Estoy completamente de acuerdo que usar XPath es lo más prolijo, pero a veces es necesario tomar decisiones desprolijas en pos de la performance. Habría que hacer pruebas y ver qué se comporta mejor.</div>

</div><div class="gmail_extra"><br clear="all"><div><div><br></div>.:-:ChiCkENURiNE:-:.<div><span>+ </span><span>El <a href="http://groups.google.com/group/spam-a-lot/" target="_blank">SPAM</a> tiene su lugar.</span></div>

</div>
<br><br><div class="gmail_quote">2013/6/14 Carlos M. Martinez <span dir="ltr"><<a href="mailto:carlosmarcelomartinez@gmail.com" target="_blank">carlosmarcelomartinez@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Ese es el punto del XPath, no hace falta hilar tan fino en la
    estructura del texto mismo como con sed/awk, donde matcheando
    patrones de texto se te puede romper todo por un espacio de mas o de
    menos.<br>
    <br>
    En Python: <a href="http://lxml.de/xpathxslt.html" target="_blank">http://lxml.de/xpathxslt.html</a><br>
    <br>
    s2<span class="HOEnZb"><font color="#888888"><br>
    <br>
    ~Carlos</font></span><div><div class="h5"><br>
    <br>
    <div>On 6/14/13 8:58 AM, Chicken Urine
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_default">Dependiendo de como sea la
          estructura del xml puede ser trivial con sed/awk pasarlo a un
          csv. Hacer un load data de 10k registros en Mysql te puede
          llevar menos de 30 segundos con la configuración optima.</div>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>
          <div><br>
          </div>
          .:-:ChiCkENURiNE:-:.
          <div><span>+ </span><span>El <a href="http://groups.google.com/group/spam-a-lot/" target="_blank">SPAM</a> tiene su lugar.</span></div>
        </div>
        <br>
        <br>
        <div class="gmail_quote">2013/6/14 Alejandro Stendelis <span dir="ltr"><<a href="mailto:stendelis@gmail.com" target="_blank">stendelis@gmail.com</a>></span><br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">Gracias, por los consejos en PHP, pero ya he
              probado todo y he realizado varias pruebas de velocidad,
              del xml preciso toda la info que tiene, el que tiene 2.5
              millones de tags, se transforman en 10 mil registros en el
              MYSQL, de ahí la velocidad de procesado que necesito.</div>
            <div class="gmail_extra"><br>
              <br>
              <div class="gmail_quote">El 13 de junio de 2013 23:36,
                Ivan Baldo <span dir="ltr"><<a href="mailto:ibaldo@adinet.com.uy" target="_blank">ibaldo@adinet.com.uy</a>></span>
                escribió:
                <div>
                  <div><br>
                    <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div bgcolor="#FFFFFF" text="#000000">     Hola.<br>
                            Capás que el problema con XMLReader es que
                        generalmente debe usarse iterando por cada
                        elemento leído con código PHP y PHP es lentísimo
                        como lenguaje :-(.<br>
                            Si no precisás realmente todos los elementos
                        del XML para procesar sino que sólo algunos
                        entonces en una de esas logras mejor velocidad
                        con DOMDocument y afines: <a href="http://www.php.net/manual/es/book.dom.php" target="_blank">http://www.php.net/manual/es/book.dom.php</a>
                        .<br>
                            Con esa clase lo levantas y luego por
                        ejemplo podes pedir todos los elementos que son
                        determinado "tag" (nombre de elemento) o por id;
                        si precisas algo mas avanzado entonces podés
                        utilizar DOMXPath.<br>
                            Alternativamente podés probar SimpleXML <a href="http://www.php.net/manual/es/book.simplexml.php" target="_blank">http://www.php.net/manual/es/book.simplexml.php</a>
                        que es un poco mas sencillo de usar aunque
                        supongo (me puedo equivocar) que un poco mas
                        lento, pero probablemente si no iteras en todos
                        los elementos va a ser bastante mas rápido que
                        XMLReader.<br>
                            Saludos.<br>
                        <br>
                        <br>
                        El 13/06/13 11:21, Alejandro Stendelis escribió:
                        <blockquote type="cite">
                          <div>
                            <div>
                              <div dir="ltr">Hola,<br>
                                <br>
                                Tengo un proyecto funcionando, esta
                                realizado en PHP, el mismo se trata de
                                procesar cada hora algunos archivos XML
                                (son unos 30 archivos que pesan de 5
                                megas a 350 megas). <br>
                                <br>
                                El servicio funciona de esta manera en
                                resumen.<br>
                                <br>
                                Legan los XML en formato .zip.<br>
                                Un cron job se fija cuando se
                                actualizan.<br>
                                Si hay archivos de descomprimen.<br>
                                Un php toma el XML y por medio de
                                XMLReader() lo procesa y hace unos 10
                                inserts en promedio por cada XML.<br>
                                Luego se utiliza los datos de la DB para
                                hacer funcionar un servicio.<br>
                                <br>
                                La situación hasta este momento es que
                                lo hace muy bien, pero necesito acelerar
                                el proceso de los XML, XMLReader() tarda
                                en el XML mas grande unos 20 minutos,
                                son cerca de 350 megas y unas 2.5
                                millones de lineas.<br>
                                <br>
                                Me imagino que haciendo un script shell
                                o en C, que corra directamente sobre el
                                servidor linux, ahorro mucho tiempo y
                                puedo tener mas control de los procesos,
                                ya que es mas nativo por así decirlo.<br>
                                <br>
                                Buscando encontré estos códigos, los
                                cuales me imagino que uno de ellos es el
                                mejor camino a seguir.<br>
                                <br>
                                Mi pregunta es, quien tiene experiencia
                                en tratar desde scripts datos
                                complejos?, y cual es el mejor camino a
                                seguir?<br>
                                Necesitaré un programador Freelance que
                                en algún momento tendré que contratar.<br>
                                <br>
                                <br>
                                <a href="http://vtd-xml.sourceforge.net/" target="_blank">http://vtd-xml.sourceforge.net/</a><br>
                                <a href="http://xml-shell.sourceforge.net/" target="_blank">http://xml-shell.sourceforge.net/</a><br>
                                <a href="http://www.xmlsh.org/Commands" target="_blank">http://www.xmlsh.org/Commands</a><br>
                                <a href="http://rpbouman.blogspot.com/2006/03/importing-xml-data-into-mysql-using.html" target="_blank">http://rpbouman.blogspot.com/2006/03/importing-xml-data-into-mysql-using.html</a><br>


                                <br>
                                Gracias.<br>
                              </div>
                              <br>
                              <fieldset></fieldset>
                              <br>
                            </div>
                          </div>
                          <div>
                            <pre>_______________________________________________
Uylug-programming mailing list
<a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a>
<a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a>
</pre>
                          </div>
                        </blockquote>
                        <span><font color="#888888"> <br>
                            <pre cols="72">-- 
Ivan Baldo - <a href="mailto:ibaldo@adinet.com.uy" target="_blank">ibaldo@adinet.com.uy</a> - <a href="http://ibaldo.codigolibre.net/" target="_blank">http://ibaldo.codigolibre.net/</a>
>From Montevideo, Uruguay, at the south of South America.
Freelance programmer and GNU/Linux system administrator, hire me!
Alternatives: <a href="mailto:ibaldo@codigolibre.net" target="_blank">ibaldo@codigolibre.net</a> - <a href="http://go.to/ibaldo" target="_blank">http://go.to/ibaldo</a>
</pre>
                          </font></span></div>
                    </blockquote>
                  </div>
                </div>
              </div>
              <br>
            </div>
            <br>
            _______________________________________________<br>
            Uylug-programming mailing list<br>
            <a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a><br>
            <a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
Uylug-programming mailing list
<a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a>
<a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a>
</pre>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div>