7

私は Sax パーサーを使用して、事前に作成された XML ファイルを処理しています....別のアプリケーションによって保持されている XML を変更する方法はありませんが、そこからデータを解析する必要があります。XML ファイルには、エラーが発生していない場合は空のタグ < ERROR_TEXT/> が含まれています。その結果、パーサーはタグを閉じた後の次の文字「\n」を取得します。result.replaceAll("\n", ""); を試しました。および result.replaceAll("\n", "");

これが空のタグであることを SAX に認識させ、値を "" として返すにはどうすればよいですか?

4

3 に答える 3

1

SAXParser文字通り「文字」に遭遇するたびに呼び出すイベントをcDAta介して戻ります。実際にデータが含まれているかどうかに関係なく、すべての開いているタグの後に呼び出されるため、その関数を使用しても意味がありません。先に進む前に、使用してチェックを行うことができます。characters()String.trim()String.length()>=0

于 2014-01-27T07:43:57.273 に答える
0

あなたはそうしない。SAX の仕事はデータを解析することであり、そのデータの内容がどうあるべきかを決定することではありません。parseHandler で、すべての要素にデータの文字列を格納し、その要素を処理するときに、データに対して string.trim() を実行します。その出力が空白で、タグが ERROR_TEXT タグである場合、エラーがないことがわかります。

于 2012-05-30T09:40:27.673 に答える