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

问题描述 投票:0回答:1

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

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

当尝试验证数据时,我此时收到错误消息:

字符 0x0 超出允许范围。

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

python xml rest xml-parsing
1个回答
4
投票

0x0

(又名 NUL)
不是 XML 中允许的字符 :

[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]


因此,您的数据不是 XML,任何符合要求的 XML 处理器都必须报告错误,例如您收到的错误。

在将数据与任何 XML 库一起使用之前,您必须手动或自动将其视为

文本,而不是 XML, 来删除任何非法字符来修复数据。

对于 Python,请参阅

从 python 中的字符串中删除控制字符,了解如何从字符串中删除 NUL 的提示。 这必须在将数据视为 XML 之前完成。

© www.soinside.com 2019 - 2024. All rights reserved.