toprettyxml()

Lorenzo Gil Sanchez lgs en sicem.biz
Mie Jun 23 15:33:46 CEST 2004


Hola,

queria preguntaros si alguno de vosotros ha tenido el siguiente
problema:

Python 2.3.3 (#1, May  7 2004, 10:31:40)
[GCC 3.3.3 20040412 (Red Hat Linux 3.3.3-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> data = """
... <nodo>valores</nodo>
... """
>>> import xml.dom.minidom
>>> document = xml.dom.minidom.parseString(data)
>>> print document.toprettyxml()
<?xml version="1.0" ?>
<nodo>
        valores
</nodo>


Como veis, lo que esta devolviendo document.toprettyxml() es diferente a
lo que valia data en el sentido que el nodo XML de texto ('valores')
contiene mas texto (tabuladores y un \n) del que yo he especificado.

Esto quiere decir que la herramienta que va a parsear este XML debe
tener esto en cuenta, y si como en mi caso, no se controla esa
herramienta tenemos un problema.

Mas de uno me dira que pruebe lo siguiente:

>>> print document.toprettyxml(indent='', newl='')
<?xml version="1.0" ?>
<nodo>valores</nodo>

Pero esto no vale, porque estamos perdiendo la poca inteligibilidad que
tiene un documento XML. En este ejemplo parece muy bonito pero cuando
tenemos un arbol DOM bastante profundo, el hecho de no meter retornos de
carro o tabuladores nos genera un trozo de texto muy grande (un chorizon
solia decir mi profe de matematicas).

Resumiento, el problema es que el toprettyxml() no distingue entre nodos
de texto y nodos normales. Alguien sabe como solucionarlo?

gracias y un saludo

Lorenzo

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es