2016-11-11 216 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。

相關問題