Aquí es un error común cuando se trata de UTF-8 - 'tokens no válidos'Python UTF-8 análisis XML (SUDS): Extracción 'invalid token'
En mi ejemplo, se deriva de trabajar con un proveedor de servicio SOAP que no tenían respeto por los caracteres Unicode, simplemente truncar los valores de 100 bytes y dejar de lado que el byte 100'th puede estar en el medio de un carácter multi-byte: por ejemplo:
<name xsi:type="xsd:string">浙江家庭教会五十人遭驱散及抓打 圣诞节聚会被断电及抢走物品(图、视频\xef\xbc</name>
los dos últimos bytes son lo restos de un carácter unicode de 3 bytes, después de que el cuchillo de truncamiento supone que el mundo usa caracteres de 1 byte. Siguiente parada, analizador de saxo y:
xml.sax._exceptions.SAXParseException: <unknown>:1:2392: not well-formed (invalid token)
Ya no me importa este personaje. Debe eliminarse del documento y permitir que funcione el analizador de saxofón.
La respuesta XML es válida en todos los demás aspectos excepto en estos valores.
Pregunta: ¿Cómo se elimina este carácter sin analizar todo el documento y reinventar la codificación UTF-8 para verificar cada byte?
Uso: Python + SUDS
sí, me acaba de responder a mi propia pregunta. : P – FlipMcF
Bueno para ti. +1. – sberry
Insignia autodidacta obtenida ... (¡ese era el punto, realmente!) Gracias. – FlipMcF