【发布时间】:2012-07-01 11:16:36
【问题描述】:
这很奇怪..
我有一个 DefaultHandler 实际上可以很好地处理所有事情,但有时,没有明显的原因,它会给我 0 而不是正确的值。每次都在同一个地方发生这种情况,所以有问题,但我不知道是什么!
问题是这样的。我正在解析像“17:00:00”这样的时间。当解析器到达“奇怪的时间”时,它会像这样解析它->“17:00:0”,再调用一次方法characters(char[] ch, int start, int end),然后解析最后一个“0”。
WTF?
实际上它会将结尾设置为 7 而不是 8。这适用于除少数值之外的所有内容!
代码非常简单,它只是一个简单的 saxparser。这是字符方法:
public void characters(char[] ch, int start, int end) {
if(on_element)
value = new String(ch, start, end);
}
有什么提示吗?
【问题讨论】: