我正在使用 SAXParser 解析 xml,想知道这是否是实现字符方法的正确方法。
假设有一个名为 elementValue 的类级字符串变量,它在 startElement 方法中被初始化为 ""。
这是字符方法:
@Override
public void characters(char[] ch, int start, int length)
{
String charsToAppend = new String(ch, start, length);
elementValue = elementValue + charsToAppend;
}
我们需要追加到目前的值是否正确,追加是否正确完成?
另外,为什么字符方法给出起始索引?不会每次都为零吗?
谢谢。
是的,您需要附加,因为不能保证读取的数据 block 将包含所有元素文本。
起始位置已给定且需要使用,因为数组中的其他字符可能是垃圾。
但是,您应该改用 StringBuffer
,并调用其“append()
方法,如下所示:
public void characters(char[] ch, int start, int length) {
yourStringBuffer.append(ch, start, length);
}
我是一名优秀的程序员,十分优秀!