[pyar] XML y cElemtTree
Maximiliano Churichi
mchurichi en gmail.com
Vie Mayo 27 21:10:20 ART 2011
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/
>
More information about the pyar
mailing list