我正在使用SAXParser解析xml,并想知道这是否是实现characters方法的正确方法.
假设有一个名为elementValue的类级String变量,它在startElement方法中初始化为"".
这是字符方法:
@Override
public void characters(char[] ch, int start, int length)
{
String charsToAppend = new String(ch, start, length);
elementValue = elementValue + charsToAppend;
}
Run Code Online (Sandbox Code Playgroud)
我们需要附加到目前为止的值并且正确执行追加是否正确?
另外,为什么characters方法给出起始索引?每次都不会为零吗?
谢谢.
是的,您需要追加,因为无法保证读取的数据块将包含所有元素文本.
给出起始位置并需要使用,因为数组中的其他字符可能是垃圾.
但是,您应该使用a StringBuffer
,并调用其' append()
方法,如下所示:
public void characters(char[] ch, int start, int length) {
yourStringBuffer.append(ch, start, length);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1853 次 |
最近记录: |