実際、バックスペースはXML ファイルでは有効な文字ではありません。これは、「XML」を生成するツールが何らかの形で壊れていることを示しています。可能であれば、そこに修正を適用します。
本当にそうしなければならない場合は、次のようにファイルからバックスペースを除外できます
$ perl -pe's/\x08//g' <brokenfile.not-xml >fixedfile.still-not-xml
ファイルに他の制御文字が含まれている場合は、正規表現を範囲全体に拡張できます。
#filtering forbidden control characters in the ASCII range
$ perl -pe's/[\x00-\x08\x0B-\x0C\x0E-\x1F]//g' <brokenfile.not-xml >fixedfile.still-not-xml
有効な XML 文字は次のとおりです。
Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
ただし、元のファイルは XML ではないことに注意してください。また、使用しているライブラリが何であれ、エラーをスローして正しいことを行っていることに注意してください。
ファイルが表す (意図された) データによっては、制御コードを除外すると、そのデータの意味が変わる場合があります。