Java HTML / XML How to - Get Embeded/nested XML from a big XML file using SAX parser








Question

We would like to know how to get Embeded/nested XML from a big XML file using SAX parser.

Answer

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader;
import javax.xml.transform.stream.StreamSource;
/*from w ww.  j av a  2s.c om*/
public class Main {
  public static void main(String[] args) throws Exception {
    XMLInputFactory xif = XMLInputFactory.newFactory();
    StreamSource xmlSource = new StreamSource("src/forum19559825/input.xml");
    XMLStreamReader xsr = xif.createXMLStreamReader(xmlSource);
    positionXMLStreamReaderAtAnyElement(xsr);
    processAnyElement(xsr);
  }
  private static void positionXMLStreamReaderAtAnyElement(XMLStreamReader xsr)
      throws Exception {
    while (xsr.hasNext()) {
      if (xsr.getEventType() == XMLStreamReader.START_ELEMENT
          && "ANY-ELEMENT".equals(xsr.getLocalName())) {
        break;
      }
      xsr.next();
    }
  }
  private static void processAnyElement(
      XMLStreamReader xmlStreamReaderAtAnyElement) {
    System.out.println("FOUND IT");
  }
}