[pyar] XML y cElemtTree

Maximiliano Churichi mchurichi en gmail.com
Vie Mayo 27 21:48:19 ART 2011


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/
>>
>



More information about the pyar mailing list