XML验证错误:字符0x0超出允许范围。

时间:2016-11-11 15:25:41

标签: python xml rest xml-parsing

如何处理无效字符以便能够解析Python中的数据?

我目前正在使用REST API从以XML格式生成数据的源获取数据。但是,XML数据包含以下字符:¿¿

在尝试验证数据时,我得到的错误是:

  

字符0x0超出允许范围。

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

1 个答案:

答案 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之前完成。