public static void traverse(XMLStreamReader streamReader, StaxClosure closure) throws XMLStreamException { while (streamReader.hasNext()) { streamReader.next(); closure.process(streamReader); } }
public static void traverse(XMLStreamReader streamReader, String[] tags, StaxClosure closure) throws XMLStreamException { while (streamReader.hasNext()) { streamReader.next(); if (XMLStreamReader.START_ELEMENT == streamReader.getEventType()) { String localPart = streamReader.getName().getLocalPart(); for (String tag : tags) { if (tag.equals(localPart)) { closure.process(streamReader); } } } } }