ファイルの 1 つで見つかった 0x0 文字を削除しようとしていますが、xml パーサーがそれを窒息させていることがわかりました。
だから私はgsubを使用しています:
xmlBody.gsub!(/\u0000/i,'')
交換します。xml パーサーはこれで満足です。その後、xml ファイルが保存されます (UTF-8 エンコーディング付き)。
ただし、Sublime テキスト エディターでファイルを再度開くと、Sublime がクラッシュします。また、別のエディター (クラッシュしない) を使用し、ファイルの xml コンテンツを xml バリデーターにコピーして貼り付けると、バリデーターは char 0x0 が無効であると言います。gsub は実際には文字を削除していないようです。
助言がありますか?
また、xmlBody に force_encoding("UTF-8") と xmlBody.delete!(0x0) を使用してみましたが、同じ結果が得られました。