Download CONSEJERIA DE EDUCACION Python y XML. Ejercicios (I
Document related concepts
no text concepts found
Transcript
CONSEJERIA DE EDUCACION IES Gonzalo Nazareno Python y XML. Ejercicios (I) Utilizando el fichero provinciasypoblaciones.xml, crea distintos programas en python, utilizando la libreria lxml, que realicen las siguientes funciones: 1. Programa que lista todas las provincias. from lxml import etree arbol = etree . parse (" provinciasypoblaciones .xml ") provincias = arbol . xpath ("/ lista / provincia / nombre ") for provincia in provincias : print provincia .text 2. Programa que lista todos los municipios. from lxml import etree arbol = etree . parse (" provinciasypoblaciones .xml ") localidades = arbol . xpath ("/ lista / provincia / localidades / localidad ") for localidad in localidades : print localidad .text 3. Programa que muestra la lista de provincias y el total de municipios que tiene cada una. from lxml import etree arbol = etree . parse (" provinciasypoblaciones .xml ") provincias = arbol . xpath ("/ lista / provincia ") for provincia in provincias : num_loc = provincia .xpath (" count( localidades / localidad )") nombre_prov = provincia .find (" nombre ") print " %s: %d localidades " % ( nombre_prov .text , num_loc ) 4. Programa que lee por teclado el nombre de una provincia y muestra sus municipios. from lxml import etree arbol = etree . parse (" provinciasypoblaciones .xml ") provincia = raw_input (" Dame la provincia : "). title () localidades = arbol . xpath ("/ lista / provincia [ nombre=' %s ']/ localida \ des/ localidad " % provincia ) for localidad in localidades : print localidad .text 2 5. Programa que lee por teclado el nombre de un municipio y muestra la provincia donde se encuentra. from lxml import etree arbol = etree . parse (" provinciasypoblaciones .xml ") localidad = raw_input (" Dame la localidad : "). title () loc = arbol . xpath ("/ lista / provincia / localidades / localidad [ contains \ (text(),' %s ')]" % localidad ) for i in loc: provincia = i. getparent (). getparent (). find (" nombre "). text print " %s se encuentra en %s" % (i.text , provincia )