これは奇妙です..
私は実際にすべてをうまく処理している DefaultHandler を持っていますが、明らかな理由もなく、正しい値ではなく 0 を返すことがあります。これは毎回同じ場所で発生しているため、何か問題がありますが、何が原因かわかりません!
問題はこれです。「17:00:00」のような時間を解析しています。パーサーが「奇妙な時間」に到着すると、次のように解析します->「17:00:0」、メソッド文字(char[] ch、int start、int end)をもう一度呼び出し、最後の「0」。
なんてこと?
実際には、8 ではなく 7 に終わりを設定します。そして、これはいくつかの値を除いてすべてに対して機能します!
コードは非常に簡単で、単純な saxparser です。これはキャラクターメソッドです:
public void characters(char[] ch, int start, int end) {
if(on_element)
value = new String(ch, start, end);
}
ヒントはありますか?