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