SAX и разбор построчно с Java - PullRequest
2 голосов
/ 15 марта 2012

Возможно ли использовать SAXParser для разбора файла xml построчно?

Ответы [ 2 ]

2 голосов
/ 15 марта 2012

Самый простой способ сделать это - передать каждую строку во второй поток. например через PipedInputStream.

В будущем вы сможете использовать продолжения в Java 8 или 9 или? использовать парсер в той же теме.

Синтаксический анализатор SAX должен выдавать вам все возможные события для строк, которые вы ему дали.

Кстати: в прошлом я писал для этого push-парсер, но я не знаю ни одного стандартного синтаксического анализа SAX, который делал бы это в одном потоке.

0 голосов
/ 15 марта 2012

Я не уверен, поможет ли это вашей ситуации, покупка SAX основана на событиях, то есть вы можете написать код для соответствия определенным критериям тега, расширив DefaultHandler:

class MySAXHandler extends DefaultHandler {
    public void startDocument() {
    System.out.println("Start document: ");
}

Существует множество методов для переопределения, посмотрите: http://www.java2s.com/Code/Java/XML/SAXeventhandler.htm

Надеюсь, это поможет!

...