<div dir="ltr"><div class="gmail_default" style="font-family:'courier new',monospace;color:rgb(0,0,0)">Igual acordate que tenés 2 cuellos de botella, uno es el procesamiento del XML y otro es la Base de Datos.</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 carlos,<div><br></div><div>Ya tengo dos métodos más para ver, aparte de los que yo quería tener en cuenta.</div><div><br></div><div><ol><li>Pasar con <span style="font-size:13px;font-family:arial,sans-serif">sed/awk a csv e importar directamente al MYSQL</span><br>


</li><li><a href="http://lxml.de/xpathxslt.html" target="_blank">http://lxml.de/xpathxslt.html</a><br></li><div class="im"><li><a href="http://vtd-xml.sourceforge.net/" target="_blank">http://vtd-xml.sourceforge.net/</a><br>

</li><li><a href="http://xml-shell.sourceforge.net/" target="_blank">http://xml-shell.sourceforge.net/</a><br>
</li><li><a href="http://www.xmlsh.org/Commands" target="_blank">http://www.xmlsh.org/Commands</a><br></li><li><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>


</li></div></ol><div><br></div><div>Por lo que pude leer el método que numero como 3 "vtd-xml", tiene como ventaja la velocidad, según dice ahí. Menciona procesos de un xml de 100 megas en pocos segundos.</div>

<div>
<br></div><div>Independientemente del método que pueda utilizar también necesito un freelance para programar esto, alguno sabe de alguna bolsa de trabajo o un listado o algun foto, me gustaría que sea un programador en uruguay.</div>


<div><br></div><div>Saludos.</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 14 de junio de 2013 11:30, Carlos M. Martinez <span dir="ltr"><<a href="mailto:carlosmarcelomartinez@gmail.com" target="_blank">carlosmarcelomartinez@gmail.com</a>></span> escribió:<div>

<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Buen punto ;)<div><div><br>
    <br>
    <div>On 6/14/13 11:11 AM, Chicken Urine
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div class="gmail_default">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><font color="#888888"><br>
                  <br>
                  ~Carlos</font></span>
              <div>
                <div><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>
    </blockquote>
    <br>
  </div></div></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></div></div><br></div>
</blockquote></div><br></div>