Foros del Web » Programando para Internet » Python »

XML a array (list)

Estas en el tema de XML a array (list) en el foro de Python en Foros del Web. Hola, estoy intentando crear una clase que permita convertir un XML en una lista en python, el problema es que no puedo inicializar el xml.dom.minidom. ...
  #1 (permalink)  
Antiguo 22/07/2010, 09:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 140
Antigüedad: 16 años, 1 mes
Puntos: 1
XML a array (list)

Hola, estoy intentando crear una clase que permita convertir un XML en una lista en python, el problema es que no puedo inicializar el xml.dom.minidom. Estoy intentando hacer esto:

Código PHP:
class parseXML:
    
def __init__(selfxmlfile):
        
import xml.dom.minidom
        self
.xmlfile xmlfile
        self
.xmldoc xml.dom.minidom.parse(xmlfile)

    
def childNodes(self):
        list = 
self.xmldoc.childNodes
        
return list

doc parseXML('application/data/config.xml')
print 
len(doc.getNodes())

raw_input() 
pero cuando lo correo recibo el siguiente error:

ImportError: No module named dom.minidom, sin embargo cuando uso el import fuera de una clase me funciona bien, alguien tiene una idea???
  #2 (permalink)  
Antiguo 22/07/2010, 14:21
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: XML a array (list)

Es recomendable ponerlo fuera de la clase, por que cada vez que creas un objeto vuelves a importar el modulo
  #3 (permalink)  
Antiguo 26/07/2010, 10:39
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: XML a array (list)

Añado: list ya es una clase así que te recomiendo que uses otro nombre
Ejemplo:
Código Python:
Ver original
  1. l = []
  2. #Es igual a tener
  3. l = list()

Etiquetas: list, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:14.