如何处理无效字符以便能够在 Python 中解析数据?
我当前正在使用 REST API 从生成 XML 格式数据的源获取数据。但是 XML 数据包含以下字符:¿¿
当尝试验证数据时,我此时收到错误消息:
字符 0x0 超出允许范围。因此我无法解析这些数据。我不确定如何编码这些数据。我该怎么做才能解决这个问题?
0x0
(又名 NUL)不是 XML 中允许的字符 :
[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
因此,您的数据不是 XML,任何符合要求的 XML 处理器都必须报告错误,例如您收到的错误。在将数据与任何 XML 库一起使用之前,您必须手动或自动将其视为
文本,而不是 XML, 来删除任何非法字符来修复数据。
对于 Python,请参阅从 python 中的字符串中删除控制字符,了解如何从字符串中删除 NUL 的提示。 这必须在将数据视为 XML 之前完成。