Escolar Documentos
Profissional Documentos
Cultura Documentos
Instalación de Amara
Podemos instalar Amara de varias formas.
Nota: Amara depende de 4Suite, por lo tanto, si no está instalado el paquete 4Suite hay que seleccionar una
distribución allinone.
easy_install Amara
De forma automática buscará el módulo más reciente y descargará los módulos necesarios.
El siguiente programa utiliza la expresión XPath /clientes/cliente para obtener los datos de todos los clientes
que aparecen en el documento.
Posteriormente se obtiene el nombre y ciudad de cada uno, y se imprimen a la consola. Los datos de entrada
son le dos del archivo indicado por el parámetro source:
import amara
for fragDom in amara.pushdom(source='input.xml', xpatterns=u"/clientes/cliente"):
label = fragDom.firstChild #Obtener el primer hijo
nombre = label.xpath('string(nombre)') #obtener el elemento nombre
ciudad = label.xpath('string(direccion/ciudad)') #obtener el elemento ciudad que forma parte
print nombre, 'de', ciudad
Si se teme que el consumo de memoria sea muy elevado para documentos muy grandes, como ocurre con
DOM, no hay nada de que preocuparse, pues domtools.pushdom es un generador que proporciona un
fragmento del documento DOM a cada pasada del ciclo, de manera que el documento original no es procesado
entero, sino en una serie de sub árboles de acuerdo al patrón /clientes/cliente proporcionado.
import amara
for subArbol in amara.pushbind(source='input.xml', xpatterns=u'/clientes/cliente'):
print subArbol.nombre, 'de', subArbol.direccion.ciudad
import amara
import datetime
contenedor = amara.parse('input.xml')
#Se va a agregar este lema a Sony
texto_nuevo_lema = u'Life is good.'
#id de Sony
id = 'so'