[pyar] XML y cElemtTree

Roberto Bozzacchi robbie en metasigno.com
Vie Mayo 27 22:15:45 ART 2011


Sí! Perfecto!
Bien, muchas gracias!
Ahora estaba justo viendo la forma de tomar TODOS los paises del XML y
guardar en una tabla ID y NOMBRE de cada País...

El módulo para MySQL ya lo tengo desarrollado, me falta sólo iterar con el
XML e ir guardando cada País con su ID.

Mucha gracias Maximiliano!

El 27 de mayo de 2011 21:48, Maximiliano Churichi <mchurichi en gmail.com>escribió:

> viendo un poco mas...
>
> for country in root:
>    if country.find("name").text == "Argentina":
>        print country.find("id").text
>
> Maximiliano Churichi
> <mchurichi en gmail.com>
>
>
>
> El día 27 de mayo de 2011 21:10, Maximiliano Churichi
> <mchurichi en gmail.com> escribió:
> > Desde ya, es mi primera respuesta a una pregunta en esta lista, asi q
> > disculpen si estoy diciendo una barbaridad :P, pero me parece q el
> > problema esa que estas iterando sobre el elemento name, cuando tenes q
> > hacerlo sobre country... yo lo logre hacer asi, debe haber una forma
> > de hacerlo sin usas indices numericos, xq donde te cambien el orden o
> > te agreguen un elemento mas se rompe todo...
> >
> > for i in root:
> >    if i[6].text == 'Argentina':
> >        print i[8].text
> >
> > Saludos!
> >
> > Maximiliano Churichi
> > <mchurichi en gmail.com>
> >
> >
> >
> > 2011/5/27 Roberto Bozzacchi <robbie en metasigno.com>:
> >> Gracias por responder, pero si fuera con ElemntTree para seguir esa
> línea
> >> ....
> >> Gracias...
> >>
> >> 2011/5/27 Jamil Enriquez Deceano <jenriquezdeceano en gmail.com>
> >>>
> >>> yo use el modulo re para algo similar a ver si te das una idea con este
> >>> code.
> >>> Mira la linea en negrita.
> >>>
> >>>
> >>> import os, re, subprocess, string, urllib2
> >>> s = raw_input('Inserta URL>>>')
> >>> #tmp =
> >>> list(urllib2.urlopen('
> http://tlaltek.net/internal/lynx/dataToXml3.php?objectId=99'))
> >>> tmp = list(urllib2.urlopen(s))
> >>> source = map(string.strip, tmp)
> >>> for item in source:
> >>>    searching = re.search('<taskSyntax>(.+)\</taskSyntax>', item)
> >>>    if searching != None:
> >>>       program=searching.group(1)
> >>> path=os.getcwd()+"/"
> >>> run_cmd = path + program
> >>> subprocess.call([run_cmd])
> >>> 2011/5/27 Roberto Bozzacchi <robbie en metasigno.com>
> >>>>
> >>>> Gente, tengo que extraer datos de XML que me proporcionan desde una
> URL.
> >>>> Esto lo estuve viendo tanto en un curso que hice, como en GOOGLE pero
> hay
> >>>> algo que no se resolver y GOOGLE me esta mareando un poco y estoy con
> esto
> >>>> desde las 16hs... aprox.
> >>>>
> >>>> Logré este código:
> >>>>
> >>>> import urllib2
> >>>> import xml.etree.cElementTree as cET
> >>>> url = 'http://api.erepublik.com/v2/feeds/countries'
> >>>> fin = urllib2.urlopen(url)
> >>>> tree = cET.parse(fin)
> >>>> root = tree.getroot()
> >>>> for imp in root.getiterator("name"):
> >>>>     if imp.text == 'Argentina':
> >>>>         print imp.text
> >>>>
> >>>> Esto esta Perfecto! Y solo me imprime Argentina.... bien! Con esto
> estaba
> >>>> que saltaba en una pata...
> >>>> Ahora, este no es el resultado que necesito, si no el de Obtener el ID
> de
> >>>> Argentina...
> >>>>
> >>>> Por tanto, les paso un extracto de ese XML:
> >>>>
> >>>> <countries>
> >>>>      <country>
> >>>>              <code>RO</code>
> >>>>              <continent>Europe</continent>
> >>>>              <average-citizen-level>20</average-citizen-level>
> >>>>              <citizen-fee>5</citizen-fee>
> >>>>              <citizen-count>5642</citizen-count>
> >>>>              <region-count>5</region-count>
> >>>>              <name>Romania</name>
> >>>>              <currency>RON</currency>
> >>>>              <id>1</id>
> >>>>              <regions>
> >>>>                        <region>
> >>>>                              <name>Dobrogea</name>
> >>>>                              <id>3</id>
> >>>>                        </region>
> >>>>              </regions>
> >>>>        </country>
> >>>> </countries>
> >>>>
> >>>> Bueno, en este caso muestra una parte de Rumania, pero como decía más
> >>>> arriba, necesito obtener el ID de Argentina o como en el caso de
> Rumania, 1
> >>>>
> >>>> Claro, que esto es para luego ir a buscar mas datos, pero seguro que
> con
> >>>> un buen ejemplo, luego yo ya me doy maña...
> >>>>
> >>>> Mil Gracias!
> >>>>
> >>>> --
> >>>>
> >>>> Robbie Bozzacchi
> >>>> Metasigno Brain
> >>>>
> >>>> _______________________________________________
> >>>> pyar mailing list pyar en python.org.ar
> >>>> http://listas.python.org.ar/listinfo/pyar
> >>>>
> >>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >>>
> >>>
> >>> _______________________________________________
> >>> pyar mailing list pyar en python.org.ar
> >>> http://listas.python.org.ar/listinfo/pyar
> >>>
> >>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >>
> >>
> >>
> >> --
> >>
> >> Robbie Bozzacchi
> >> Metasigno Brain
> >>
> >> _______________________________________________
> >> pyar mailing list pyar en python.org.ar
> >> http://listas.python.org.ar/listinfo/pyar
> >>
> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >>
> >
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>



-- 

Robbie Bozzacchi
Metasigno Brain
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110527/292a0d81/attachment.html>


More information about the pyar mailing list