ファイルからxmlタグの内容を取得するためにsaxparserを使用しています。長いデータではないxmlではすべて正しく機能します。ただし、特定の位置に配置されると、characters()イベントは切り捨てられたch []を受け取り、2回トリガーされます。たとえば、1234567890の場合、2回受信され、次の例のように値が切り捨てられます。char配列またはメモリをクリアする方法は?
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());
}