Hola a todos: Estoy haciendo mis primeros programas en Python y tengo la siguiente duda. Si hago:
$ python3 actualizarxml.py El archivo se actualiza bien. Pero si hago: $ python actualizarxml.py Me muestra el siguiente mensaje de error y el archivo XML lo deja trunco. Traceback (most recent call last): File "actualizarxml.py", line 13, in <module> domDoc.writexml(xml_file) File "/usr/lib/python2.6/site-packages/_xmlplus/dom/minidom.py", line 1746, in writexml node.writexml(writer, indent, addindent, newl) File "/usr/lib/python2.6/site-packages/_xmlplus/dom/minidom.py", line 816, in writexml _write_data(writer, attrs[a_name].value) File "/usr/lib/python2.6/site-packages/_xmlplus/dom/minidom.py", line 306, in _write_data writer.write(data) UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in position 41: ordinal not in range(128) La ultima línea me hizo pensar en algún caracter extraño pero el archivo es generado correctamente por la misma librería y donde se corta el XML son caracteres válidos, aquí el código que estoy usando: # This Python file uses the following encoding: utf-8 from xml.dom import minidom archivo = open('sellob64.txt', 'r') sello = archivo.read() archivo.close() domDoc = minidom.parse('Factura.xml') nodo = domDoc.getElementsByTagName('Comprobante') nodo[0].setAttribute('sello',sello) archivo = open('Factura.xml', 'w') domDoc.writexml(archivo) archivo.close() Puedo usar la versión 3, pero todo lo he venido haciendo en 2.6 y me gustaría seguir haciéndolo. Uso ArchLinux x64 pero lo probé también en un Ubuntu 10.04 con el mismo resultado. ¿Alguna idea para seguir investigando? Saludos y gracias -- Mauricio Baeza 10 años usando OpenOffice.org, libre, gratuito y seguro _______________________________ Todo lo que no es dado es perdido
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/