可能性の重複:私は次の構文を使用してXMLファイルを持っている
JAVA SAX parser split calls to characters()サックス文字壊す要素離れ
:
<tag ...>
a bunch of text here
<tag ...>
を任意の終了タグはありませんtag
の場合私は2つのタグの間のテキストをつかんで、List<String>
のcharacters()
に保存しています。ほとんどの場合動作しますが、一部のXMLファイルでは、テキストを2つに分割する行終端文字などを読み取ります。 1つのエントリを格納するのではなく、「ここにテキストの集まり」という2つのエントリがあります。「一束」と「ここにテキスト」。違いは、他のすべてのエントリとは異なり、 "a bundle of"の後、または "text here"の前に改行を保存しないことです。
これを修正する必要がありますが、その仕組みはわかりません。私はあなたの助けに感謝します。
私はこの「機能」について別の記事で読んだところです。どうすればこの問題を解決できますか? 'startElement'の次の呼び出しで' List 'にテキストを追加するだけですか?他の 'startElement'の後に他のチャンクを呼び出せますか? 「すべてが見つかった」ことをどのように知っていますか? –
cesar
では、読み込んだ文字を文字列バッファに格納することができます。あなたが要素の終わりを見つけたときにそれらがすべて見つかったことをあなたは知っています。 –
@anonymous:あなたのタグがネストされているので、「あなたは次の要素の始まりを見つけたときにすべてが見つかりました」という意味です。 –