2010-02-11 9 views
9
def getText(nodelist): 
    """Extracts the text between XML tags 

    I took this directly from http://docs.python.org/library/xml.dom.minidom.html. 
    For example, if I have a tag <Tag>525</Tag> this method returns me '525' 
    """ 
    rc = "" 
    for node in nodelist: 
     if node.nodeType == node.TEXT_NODE: 
      rc = rc + node.data 
    return rc 

Me da IndentationError: unindent does not match any outer indentation level(pitón) docstring está causando el error muesca

def getText(nodelist): 
    rc = "" 
    for node in nodelist: 
     if node.nodeType == node.TEXT_NODE: 
      rc = rc + node.data 
    return rc 

no. Todo lo que hago es eliminar el comentario de docstring. Que esta pasando?

+0

Tenga en cuenta que generalmente es más rápido de hacer: rc = [], rc.append (node.data), return '' .join (rc). Esto se debe a que no necesita crear una nueva cadena cada vez. – EOL

+0

'return '' .join (n.data para n en nodelist if n.nodeType == n.TEXT_NODE)' –

Respuesta

12

su cadena de documentación comienza con pestañas. Haga que su código solo use espacios para sangría (o solo pestañas), incluida la sangría para las cadenas de documentos.

+0

Problema similar: las líneas vacías deben tener las mismas cantidades de espacio en blanco inicial que el código circundante. – cfi

+0

Y, sin embargo, pretenden que Python sea un buen lenguaje para principiantes, adecuado para adolescentes. –

+0

Entiendo que mucha gente tiene una fuerte opinión en contra de Python, pero todavía es un lenguaje amigable para principiantes. :-) –

2

Asegúrese de que no está mezclando espacios y tabulaciones para su sangría

Cuestiones relacionadas