SAX パーサーを使用して XML ファイルからデータを抽出する Android アプリケーションがあります。一部のデータは一部の CDATA タグ内にあり、改行文字が含まれている場合があります。これらの改行文字は、解析中に削除されています。それらを保存するにはどうすればよいですか?
ちなみに、ここで答えを見つけたと思ったのですが、「 」を入れます。CDATA タグ内では、" " のみが取得されます。私がそれを解析するとき。
誰か提案はありますか?
ありがとうございました。
改行は、通常の文字であろうと CDATA セクション内であろうと、パーサーによって削除されません。ただし、どちらの場合も、さまざまな改行 (Unix、Windows、Mac) は、1 文字の正規 ("unix"、\n) の改行に正規化されます。提案されたような文字エンティティを使用する以外に、この正規化の発生を防ぐ方法はありません。エンティティ処理が無効になっているため、これは CDATA セクションでは実行できません。
しかし、なぜこの正規化を防ぎたいのでしょうか? これを表示したい場合は、\n を任意のローカル ラインフィード (Mac の場合は \r、Windows の場合は \r\n シーケンス) に置き換えるだけです。