SAX パーサーを使用して XML ドキュメントを解析しています。データがチャンクで提供されるという事実を考慮して、文字メソッドを使用して 2 つの要素タグ間で提供されるデータをキャプチャしています。
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 内の一部の大きなデータ フィールドの内容全体をキャプチャしていないことです。
なぜこれが起こっているのか誰にも分かりますか?
ありがとうございました。