我正在使用 SAX 解析器解析 XML 文档。我正在使用 characters 方法来捕获两个元素标签之间提供的数据,考虑到数据将以块的形式提供:
StringBuilder currentText = new StringBuilder();
...
public void characters(char ch[], int start, int length) {
if (currentText!=null) {
for (int i=start; i<start+length; i++) {
currentText.append(ch[i]);
}
然后在我使用的 endElement 方法中:
public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
System.out.println("Current Text is " + currentText.toString());
currentText.setLength(0);
}
问题是当我查看日志时,currentText 没有捕获 XML 中一些较大数据字段的全部内容。
有谁知道为什么会发生这种情况?
谢谢你。