Aquí está mi código:Python y XML: cómo colocar dos documentos en un solo documento
def extract_infos(i):
blabla...
blabla calculate v...
dom = xml.dom.minidom.parseString(v)
return dom
doc = xml.dom.minidom.Document()
for i in range(1,100):
dom = extract_infos(i)
for child in dom.childNodes:
doc.appendChild(child.cloneNode(True))
Las dos últimas líneas de trabajo una vez y luego:
Traceback (most recent call last):
File "./c.py", line 197, in <module>
doc.appendChild(child.cloneNode(True))
File "/usr/lib/python2.6/xml/dom/minidom.py", line 1552, in appendChild
"two document elements disallowed")
xml.dom.HierarchyRequestErr: two document elements disallowed
Así que mi pregunta es: ¿Cómo coloque los dos documentos existentes en un documento nuevo (colocando los elementos raíz de cada uno en un nuevo elemento raíz global).
Los DOM no funcionan de esa manera. –
@Olivier, mi respuesta muestra cómo puedes agregar un DOM a otro de una manera bastante "limpia", pero supongo que querías algo más. No entiendo la solución que menciona en el comentario a la respuesta de Lattyware. ¿El resultado final es un documento XML bien formado, o qué es? – mzjn
@Oliver Finalmente entiendo su pregunta, usted pidió agregar un dom al final de otro, pero lo que realmente quería era tomar dos documentos y ponerlos como parte de un nuevo documento, que es algo diferente. Lo primero no es posible mientras se produce XML, de ahí mi respuesta. Este último, por otro lado, es. –