&#XX;を含む大きな XML ドキュメント (ギガバイト) を読まなければなりません。通常、これらの文字セット (<32) は ASCII デバイス制御用に予約されていることを認識しています。
ファイルの作成者は、この文字セットをテキスト内で使用することを決定しましたが、それを変更することは私の手の及ばないことです。
xml file: のヘッダーを宣言するときに、UTF-8以外のさまざまな xml エンコーディング スキームの宣言を<?xml version="1.0" encoding ="UTF-8"?>
試みましたが、XML パーサーでレンダリングしようとしても成功しません。
問題を再現可能で明確にするために、以下の単純な xml ファイルを検討してください (たとえば、Fred という名前の後の文字セット):
<?xml version="1.0" encoding ="UTF-8"?>
<TABLE>
<GRADES>
<STUDENT> Fred  </STUDENT>
<TEST1> 1 </TEST1>
<TEST2> 2 </TEST2>
<FINAL> 3 </FINAL>
</GRADES>
<GRADES>
<STUDENT> Wilma </STUDENT>
<TEST1> 1 </TEST1>
<TEST2> 2 </TEST2>
<FINAL> 3 </FINAL>
</GRADES>
</TABLE>
これらのファイルを別のブラウザーで読み取ると、次のエラーが表示されます。
列 22 の 4 行目のエラー: xmlParseCharRef: 無効な xmlChar 値 1
考えられる解決策は、元のファイルを前処理して、エラーの原因となっている文字を見つけて置き換えることであることは知っていますが、この問題を回避する他の方法を知っている人はいますか? &#XX;をサポートする特定のエンコーディングはありますか? 文字セット (XX < 32) ?