[pyar] Unicode, XMLs y minidom

Facundo Batista facundobatista en gmail.com
Mie Sep 11 23:05:32 ART 2013


On Wed, Sep 11, 2013 at 8:32 PM, Federico Manuel Echeverri Choux
<echeverrifm en gmail.com> wrote:

> '<?xml version="1.0"
> encoding="utf-8"?>\n\xef\xbb\xbf<Addenda>\n<if:FacturaInterfactura
> TipoDocumento="Factura"

Ok, este XML tiene fruta.

Es UTF8 válido, pero en el medio tiene un caracter extrañísimo. Esos 3
bytes que tenés ahí en el medio ("\xef\xbb\xbf") se convierten en el
caracter unicode FEFF que no es nada (bah, sí, es un casillero no
ocupado en un codechart árabe).

Por otro lado, FEFF es un BOM válido, pero el BOM no puede estar ahí
en el medio. *Y menos codificado* (lo cual es una falta grave al armar
el unicode, digamos).

Ergo, el que está armando el XML lo está armando mal... Apostaría a
que este XML lo recibís de un windows...

De cualquier manera, o tenés que pedir que te lo corrijan, o sanitizalo vos:

>>> minidom.parseString(xml.replace("\xef\xbb\xbf", ""))
<xml.dom.minidom.Document instance at 0xa03c24c>

Slds.

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
Twitter: @facundobatista


More information about the pyar mailing list