остановить выполнение синтаксического анализатора stax

Я ищу способ остановить синтаксический анализатор, как только я получу содержимое своего тега. Как я могу это сделать? Кроме того, как я могу знать, что теперь я получил хит по моему тегу, который я ищу.

public class XmlParser {

  public String getValue(final String xml, final String tag) throws XMLStreamException {

    String tagContent = null;

    final XMLInputFactory factory = XMLInputFactory.newInstance();
    final XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(xml));

    while (reader.hasNext()) {
      final int event = reader.next();
      switch (event) {
        case XMLStreamConstants.START_ELEMENT:
          break;
        case XMLStreamConstants.CHARACTERS:
          tagContent = reader.getText().trim();
          break;
        case XMLStreamConstants.END_ELEMENT:
          break;
      }
    }
    return tagContent;
  }
}

person Saurabh Kumar    schedule 07.01.2017    source источник


Ответы (1)


person    schedule
comment
Я думал, может быть, есть API от Stax, чтобы остановиться. :) - person Saurabh Kumar; 08.01.2017
comment
Вы просто закрываете XML-поток или средство чтения событий, когда вам больше не нужно продолжать синтаксический анализ. - person PJ Fanning; 08.01.2017