【问题标题】:XML validation error: Char 0x0 out of allowed range.XML 验证错误:字符 0x0 超出允许范围。
【发布时间】:2017-03-25 20:48:15
【问题描述】:

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

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

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

字符 0x0 超出允许范围。

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

【问题讨论】:

    标签: python xml rest xml-parsing


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-10-02
      • 2018-02-20
      • 2023-02-19
      • 2013-09-25
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多