Home > DeveloperSection > Articles > SAX parser in Android

SAX parser in Android

Android XML  Android  XML Parsing 
0 Comment(s)
 1067  View(s)
Rate this:

SAX parser in Android

Previously, we learn about Android XML Processing with the DOM Parser. Now we see how to use SAX parser in Android.

Android provides the facility to parse the xml file using SAX, DOM etc. parsers. The SAX parser cannot be used to create the XML file, it can be used to parse the xml file only.

It consumes less memory than DOM parser.

1. Create an android

2. Add textview in activity_main.xml


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"




    tools:context=".MainActivity" >










        android:textSize="20sp" />




3. Create a xml file inside assets folder and add data records in xml format


<?xml version="1.0"?>











<name>John Mike</name>






4. Now paste following code in Mainactivity class



package com.javatpoint.domxmlparsing;


import java.io.InputStream;

import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;


public class MainActivity extends Activity {

     TextView tv;



     public void onCreate(Bundle savedInstanceState) {



          tv = (TextView) findViewById(R.id.textView1);

          try {

          // SAXParserFactory defines a factory API that enables applications

            // to configure and obtain a SAX based parser to parse XML documents.

      SAXParserFactory factory = SAXParserFactory.newInstance();


            SAXParser saxParser = factory.newSAXParser();


            DefaultHandler handler = new DefaultHandler() {


                 boolean name = false;


                 boolean salary = false;


         // Receive notification of the beginning of an element.

     public void startElement(String uri, String localName,

                             String qName, Attributes attributes)

                             throws SAXException {

                        if (qName.equalsIgnoreCase("name")) {

                             name = true;


                        if (qName.equalsIgnoreCase("salary")) {

                             salary = true;


                   }// end of startElement method

                        // Receive notification of the end of a document.


            public void endElement(String uri, String localName,

                             String qName) throws SAXException {



                   // Receive notification of character data.

       public void characters(char ch[], int start, int length)

                             throws SAXException {

                        if (name) {


                       tv.setText(tv.getText() + "\n\n Name : "

                               + new String(ch, start, length));

                             name = false;


                        if (salary) {

                        tv.setText(tv.getText() + "\n Salary : "

                               + new String(ch, start, length));

                             salary = false;


                   }// end of characters


              };// end of DefaultHandler object


              InputStream is = getAssets().open("file.xml");

              saxParser.parse(is, handler);


          } catch (Exception e) {






Now run your application



Don't want to miss updates? Please click the below button!

Follow MindStick