2016-11-11 54 views
1

無効な文字を処理してPythonのデータを解析するにはどうすればよいですか?XML検証エラー:Char 0x0が許容範囲外です。

現在、XML形式のデータを生成するソースからデータを取得するためにREST APIを使用しています。しかし、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の場合、文字列からNULを削除する方法については、Removing control characters from a string in pythonを参照してください。これは、の前に行われなければならず、のデータをXMLとして扱う必要があります。

関連する問題