我正在使用 saxparser 从文件中获取 xml 标记内容。对于非长数据 xml,一切正常。但是,当到达某个位置时,characters() 事件收到截断的 ch[] 并被触发两次。例如 1234567890 被接收两次并且值被截断,如下例所示。如何清除字符数组或内存?
id 1234567890
name myName1
id 1234567890
name myName2
...
(error)
id 1234567
id 890
name myName3
代码:
private StringBuffer buf = new StringBuffer(2048);
@Override
public void characters(char ch[], int start, int length) throws SAXException {
if(this.v_Id){
buf.append(ch, start, length);
myParsedXMLDataSet.setId(buf.toString());
Log.d("id", buf.toString());
buf.delete(0, buf.length());
}