0

ファイルの 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) を使用してみましたが、同じ結果が得られました。

4

1 に答える 1