CodesJava

Easy learning with example program codes

Java StAX XMLStreamReader example


StAX XMLStreamReader:

StAX XMLStreamReader class provides a Cursor style API which facilitates iteration over events. It is used for reading the XML documents.

Methods of StAX XMLStreamReader:

1. int next(): It is used to retrieve next event.
2. boolean hasNext(): It is used to check further events exists or not.
3. String getText(): It is used to get text of an element.
4. String getLocalName(): It is used to get name of an element.

Commonly used XML Stream Events:

1. ATTRIBUTE
2. CHARACTERS
3. COMMENT
4. END_DOCUMENT
5. END_ELEMENT
6. ENTITY_DECLARATION
7. ENTITY_REFERENCE
8. NAMESPACE
9. NOTATION_DECLARATION
10. PROCESSING_INSTRUCTION
11. SPACE
12. START_DOCUMENT
13. START_ELEMENT

Example:

classNew.xml

<?xml version="1.0" ?> 
<class> 
 <student name="Rajesh Garg"></student>
 <student name="Harish Kansal"></student>
</class>

StaxTest.java

import java.io.FileReader;
import java.io.Reader;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;
 
/**
 * This class is used to read XML elements using Stax parser.
 * @author codesjava
 */
public class StaxTest {
	public static void main(String args[]){
	  try {
		//File Path
		String filePath = "D:\\classNew.xml";
 
		//Read XML file.
		Reader fileReader = new FileReader(filePath);
 
		//Get XMLInputFactory instance.
		XMLInputFactory xmlInputFactory = 
                                        XMLInputFactory.newInstance();
 
		//Create XMLStreamReader object.
		XMLStreamReader xmlStreamReader  = 
                       xmlInputFactory.createXMLStreamReader(fileReader);
 
		//Iterate through events.
		while(xmlStreamReader.hasNext()){
		  //Get integer value of current event.
		  int xmlEvent = xmlStreamReader.next();
 
		  //Process start element.
		  if (xmlEvent == XMLStreamConstants.START_ELEMENT) {
			System.out.println("Start Element: "
                                        +xmlStreamReader.getLocalName());
			int attributes = 
                                     xmlStreamReader.getAttributeCount();
			for(int i=0; i<attributes; i++){
			 QName name = xmlStreamReader.getAttributeName(i);
			String value=xmlStreamReader.getAttributeValue(i);
			 System.out.println("Attribute name: " + name);
			 System.out.println("Attribute value: " + value);
			}
		  }
 
		  //Process end element.
		  if (xmlEvent == XMLStreamConstants.END_ELEMENT) {
			System.out.println("End Element: "
                                         +xmlStreamReader.getLocalName());
		  }
		}
	  } catch (Exception e) {
		e.printStackTrace();
	  }
	}
}

Output:

Start Element: class
Start Element: student
Attribute name: name
Attribute value: Rajesh Garg
End Element: student
Start Element: student
Attribute name: name
Attribute value: Harish Kansal
End Element: student
End Element: class

Download this example.
 
Next Topic: Java StAX XMLStreamWriter example.
Previous Topic: Java StAX XMLEventWriter example.

Related Topics:

How to build java project using ant in eclipse?
JAXB marshalling – convert java object to xml example.
How to create pdf file in java using iText jar?
Generics class example.
OGNL in struts 2.
Hibernate One-to-One Mapping using xml.
Send inline image in email using JavaMail API.
Quartz 2 JobListener example.

 



Industrial Training

We offers Placement Oriented Training on Java, Spring, JSF, Hibernate, PHP, AngularJS, Angular 4, PLSQL, Oracle BI Publisher etc. We also provides Online training, please mail us at hr@codesjava.com.

Development

We also provides the Development services for Website Development , Java Development, PHP Development, Android App Development etc. You can contact us on hr@codesjava.com.

Copyright © 2019 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki