Java tutorial
import java.io.FileInputStream; import javax.xml.stream.EventFilter; import javax.xml.stream.XMLEventReader; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.events.StartElement; import javax.xml.stream.events.XMLEvent; public class Main { public static void main(String[] args) throws Exception { XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory(); XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(new FileInputStream("input.xml")); InterestingElementFilter filter = new InterestingElementFilter(); XMLEventReader interestingElementReader = xmlInputFactory.createFilteredReader(xmlEventReader, filter); while (interestingElementReader.hasNext()) { XMLEvent xmlEvent = interestingElementReader.peek(); if (xmlEvent.isStartElement()) { System.out.println(xmlEvent.asStartElement().getName()); } interestingElementReader.next(); } } } class InterestingElementFilter implements EventFilter { public boolean accept(XMLEvent event) { if (event.isStartElement()) { StartElement startElement = event.asStartElement(); String name = startElement.getName().getLocalPart(); if (name.equals("InterestingElement")) { return true; } } return false; } }