Re: leer archivo xml como un arbol (python)
- From: Alejandro Valdes Jimenez <avaldes utalca cl>
- To: "Advocacy, chit-chat and event planning in Chile" <gnome-cl-list gnome org>
- Subject: Re: leer archivo xml como un arbol (python)
- Date: Thu, 21 Dec 2006 17:40:51 -0300
On Mon, 2006-12-18 at 18:09 -0300, Alejandro Valdes Jimenez wrote:
> Estimados...
>
> ¿alguien ha hecho esto? tengo un rchivo en xml con varios elementos,
> los cuales pueden anidarse a si mismos...
>
Pues ya he descubierto como hacerlo... por si a alguien le sirve.. aqui
va. Lo interesante es la llamada recursiva para recorrer el arbol, lo
demas son propias de la aplicacion.
....
# for reader document
from xml.dom import minidom
def process_device (self,dev,parent):
if dev.nodeName == "device":
name = dev.getElementsByTagName("name")[0]
ip = dev.getElementsByTagName("ip")[0]
cmts = dev.getElementsByTagName("cmts")[0]
type = dev.getElementsByTagName("type")[0]
childs = dev.getElementsByTagName("device")
type_id = self.getText(type.childNodes)
name_type, pix = models.get_data_of_device_from_key(self,type_id)
newiter = self.treestore.append(parent)
models.insert_new_item (self.treestore,
newiter,
pix,
self.getText(name.childNodes),
self.getText(ip.childNodes),
name_type,
self.pixbuf_warning,
self.getText(cmts.childNodes).strip(),
type_id)
for n in dev.childNodes:
if n.nodeType == 1: # is ELEMENT?
self.process_device (n,newiter)
.....
# build a DOM tree from the file
dom = minidom.parse(filename)
root = dom.firstChild
for n in root.childNodes:
if n.nodeType == 1: # is ELEMENT?
self.process_device (n,None)
dom.unlink()
....
> he visto bastantes ejemplos pero no me han servido para lo que yo
> quiero.
>
> no he podido recorrer correctamente el arbol de manera de dejarlo
> reflejado en un treeview.
>
> Saludos!
>
--
Alejandro Valdés Jiménez.
Area Plataforma
DTI - Dirección de Tecnologías de Información
Universidad de Talca.
Talca - Chile.
Teléfono: (56) (71) 200408
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]