Да, вы можете сделать это (при условии, что ваш xml правильно сформирован). Вам необходимо создать ContentHandler с переменной экземпляра счетчика, чтобы указать, сколько разделителей ---------
вы уже нашли.
Не используйте символов () для этого, потому что символы () могут быть вызваны несколько раз. Вместо этого буферизуйте прочитанный текст с помощью символов (), используйте endElement (), чтобы прочитать окончательный текст и проверить и увеличить счетчики.
Таким образом ContentHandler будет выглядеть так:
DefaultHandler hander = new DefaultHander() {
private String marker = "---------";
private int markerCount = 0;
private java.io.CharArrayWriter buffer = new java.io.CharArrayWriter();
public void characters(char ch[], int start, int length) {
buffer.append(ch, start, length);
}
public void endElement( String namespaceURI, String localName, String qName ) {
String elementText = buffer.toString();
if (elementText.startsWith(marker) {
markerCount += 1;
}
else if (markerCount == 1) {
System.out.println(elementText);
}
buffer.reset();
}
};