This tip shows an example of how to use the Iterator API to read from an XML file:
import javax.xml.stream.*;import javax.xml.stream.events.*;import java.io.*;public class StAXBasicEventReader{ public StAXBasicEventReader(){} public static void main(String[] args) { XMLInputFactory XMLif=null; XMLEventReader XMLer=null; System.setProperty("javax.xml.stream.XMLInputFactory", "com.sun.xml.stream.ZephyrParserFactory"); //get an XMLInputFactory object XMLif=XMLInputFactory.newInstance(); //setting the XMLInputFactory corectly XMLif.setProperty("javax.xml.stream.isSupportingExternalEntities",Boolean.TRUE);XMLif.setProperty("javax.xml.stream.isNamespaceAware",Boolean.TRUE);XMLif.setProperty("javax.xml.stream.isReplacingEntityReferences",Boolean.TRUE); //getting an XMLEventReader object try{ XMLer=XMLif.createXMLEventReader( "file:///C://Data_Local//xml//docs//", new FileReader("C://Data_local //xml//docs//AirWings_xml.xml")); }catch(java.io.FileNotFoundException e) {System.out.println(e.getMessage()); }catch(javax.xml.stream.XMLStreamException e) {System.out.println(e.getMessage());} //getting the events try{ while(XMLer.hasNext()) { XMLEvent event=XMLer.nextEvent(); //XMLEvent event=(XMLEvent)XMLer.next(); int event_type=event.getEventType(); switch(event_type) { case XMLStreamConstants.START_DOCUMENT: System.out.println(">Start-Document<"+"Code:"+event_type); break; case XMLStreamConstants.END_DOCUMENT: System.out.println(">End-DocumentStart-Element