I have this below XML file
Kiran
Pai
22
A Stax Example
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
public class ReadAndPrintXMLFile {
public static void main(String argv []) {
String inputFile = "c:/source/book.xml";
try {
// First create a new XMLInputFactory
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
// Setup a new eventReader
InputStream in = new FileInputStream(inputFile);
XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
// Read the XML document
while (eventReader.hasNext()) {
XMLEvent event = eventReader.nextEvent();
if (event.isStartElement()) {
StartElement startElement = event.asStartElement();
if (startElement.getName().getLocalPart().equals("first")) {
event = eventReader.nextEvent();
StringBuilder fName = new StringBuilder();
while (!event.isEndElement()) {
fName.append(event.asCharacters().getData());
event = eventReader.nextEvent();
}
System.out.println("First Name : " + fName);
event = eventReader.nextEvent();
continue;
}
if (startElement.getName().getLocalPart().equals("last")) {
event = eventReader.nextEvent();
StringBuilder lName = new StringBuilder();
while (!event.isEndElement()) {
lName.append(event.asCharacters().getData());
event = eventReader.nextEvent();
}
System.out.println("Last Name : " + lName);
event = eventReader.nextEvent();
continue;
}
if (startElement.getName().getLocalPart().equals("age")) {
event = eventReader.nextEvent();
StringBuilder age = new StringBuilder();
while (!event.isEndElement()) {
age.append(event.asCharacters().getData());
event = eventReader.nextEvent();
}
System.out.println("Age : " + age);
event = eventReader.nextEvent();
continue;
}
}
}
} catch (FileNotFoundException e) {
System.out.println("File not Found: " + inputFile);
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
}
Output:
First Name : Kiran
Last Name : Pai
Age : 22
First Name : Bill
Last Name : Gates
Age : 46
First Name : Steve
Last Name : Jobs
Age : 40