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
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/