2016-11-11 44 views
1

如何处理无效字符以便能够解析Python中的数据?XML验证错误:字符0x0超出允许的范围。

我正在使用REST API从以XML格式生成数据的源中获取数据。然而,XML数据包含这些字符:¿¿

当试图验证数据,我得到的错误在这一点上它说:

Char 0x0 out of allowed range.

由于对此我无法分析这些数据。我不确定如何编码这些数据。我能做些什么来解决这个问题?

回答

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。

相关问题