Java android saxparser截断xml标记内容

Java android saxparser截断xml标记内容,java,android,xml,eclipse,saxparser,Java,Android,Xml,Eclipse,Saxparser,我使用saxparser从文件中获取xml标记内容。所有这些都适用于非长数据xml。然而,当到达某个位置时,characters()事件接收到截断的ch[],并被触发两次。例如,1234567890接收两次,值被截断,如下例所示。如何清除字符数组或内存 id 1234567890 name myName1 id 1234567890 name myName2 ... (error) id 1234567 id 890 name myName3 代码: private StringBuffe

我使用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());

            }
允许对同一元素()多次调用
characters()。您不应该假设它只被调用一次,即使大多数情况下都是这样。每次调用
characters()
时追加到缓冲区,然后在调用
endElement()
时存储该值。

允许对同一元素多次调用
characters()
。您不应该假设它只被调用一次,即使大多数情况下都是这样。每次调用
characters()