import javax.xml.stream.*; import javax.xml.stream.events.*; import java.io.*; public class XMLStreamReaderExample { public static void main(String[] args) throws Exception { //create input stream from file InputStream in = new FileInputStream("example.xml"); //create XML input factory XMLInputFactory factory = XMLInputFactory.newInstance(); //create stream reader XMLStreamReader reader = factory.createXMLStreamReader(in); //iterate over events while (reader.hasNext()) { int eventType = reader.next(); if (eventType == XMLStreamConstants.START_ELEMENT) { System.out.println("Start Element: " + reader.getName().toString()); } else if (eventType == XMLStreamConstants.END_ELEMENT) { System.out.println("End Element: " + reader.getName().toString()); } else if (eventType == XMLStreamConstants.CHARACTERS) { System.out.println("Text: " + reader.getText()); } } //close reader and input stream reader.close(); in.close(); } }
import javax.xml.stream.*; import java.io.*; public class XMLStreamReaderExample { public static void main(String[] args) throws Exception { //XML input in string format String xmlInput = "This example demonstrates how to create an XMLStreamReader to read XML input from a String. The same iteration over events and printout is demonstrated. The package used in both examples is the javax.xml.stream package."; //create input stream from string InputStream in = new ByteArrayInputStream(xmlInput.getBytes()); //create XML input factory XMLInputFactory factory = XMLInputFactory.newInstance(); //create stream reader XMLStreamReader reader = factory.createXMLStreamReader(in); //iterate over events while (reader.hasNext()) { int eventType = reader.next(); if (eventType == XMLStreamConstants.START_ELEMENT) { System.out.println("Start Element: " + reader.getName().toString()); } else if (eventType == XMLStreamConstants.END_ELEMENT) { System.out.println("End Element: " + reader.getName().toString()); } else if (eventType == XMLStreamConstants.CHARACTERS) { System.out.println("Text: " + reader.getText()); } } //close reader and input stream reader.close(); in.close(); } } Text