I think the difference is that the streaming reader actually represents events.
XMLEvent event = eventReader.nextEvent(); if(event.getEventType() == XMLStreamConstants.START_ELEMENT){ StartElement startElement = event.asStartElement(); System.out.println(startElement.getName().getLocalPart()); }
vs
streamReader.next(); if(streamReader.getEventType() == XMLStreamReader.START_ELEMENT){ System.out.println(streamReader.getLocalName()); }
Thus, each time an additional event object is created for reading events. Overhead can be significant since there are many, many events.
source share