gpt4 book ai didi

java - android saxparser 截断xml标签内容

转载 作者:行者123 更新时间:2023-12-02 00:19:27 25 4
gpt4 key购买 nike

我正在使用 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() 允许对同一元素 ( see documentation ) 多次调用。您不应该假设它只会被调用一次,即使大多数情况都是如此。每次调用 characters() 时追加到缓冲区,然后在调用 endElement() 时存储该值。

关于java - android saxparser 截断xml标签内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com