如何在Android上使用SAXParser实现字符方法

时间:2010-02-08 19:36:01

标签: xml android parsing

我正在使用SAXParser解析xml,并想知道这是否是实现字符方法的正确方法。

假设有一个名为elementValue的类级别String变量,它在startElement方法中初始化为“”。

这是字符方法:

@Override
public void characters(char[] ch, int start, int length)
{
    String charsToAppend = new String(ch, start, length);
    elementValue = elementValue + charsToAppend;    
}

我们需要附加到目前为止的值并且正确执行追加是否正确?

另外,为什么characters方法给出起始索引?每次都不会为零吗?

感谢。

1 个答案:

答案 0 :(得分:9)

是的,您需要追加,因为无法保证读取的数据块将包含所有元素文本。

给出起始位置并且需要使用,因为数组中的其他字符可能是垃圾。

但是,您应该使用StringBuffer,并调用其“append()方法,如下所示:

public void characters(char[] ch, int start, int length) {
  yourStringBuffer.append(ch, start, length);
}