Kxml Parser Example

In this example we use "catching parsing events" way to parse the xml.

Ads

Tutorials   

Kxml Parser Example

     

In this example we use "catching parsing events" way to parse the xml. Through 'catching parsing events', the parser traverses the XML data and issues callbacks to a previously registered event listener whenever it encounters particular structures in the data. For example, when the parser encounters an opening tag such as <employee> then the event listener would receive an event notifying it of the encounter and pass it any necessary information. A parser implements such a strategy is called a push parser because the parser is "pushing" the event to a listener. 

The Entire Application is as follows:

Program console screen shot:

Full code of the application 

KXMLParserExample.java

import java.io.*;
import org.kxml.*;
import org.kxml.parser.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class KXMLParserExample extends MIDlet {
  public String emp = "/employee.xml";
  XmlParser parser = null;

  protected void startApp(){
  try{
  parser = new XmlParser(new 
  InputStreamReader(this.getClass().getResourceAsStream(emp)), 300);   ParseEvent event = null;
  while((event = parser.read()).getType() != Xml.END_DOCUMENT){
  if(event.getType() == Xml.START_TAG){
  String name = event.getName();
  if(name != null && name.equals("details")){
  System.out.println("----------[ EMP-DETAILS ]----------");
  parseAddressTag( parser );
  System.out.println("-----------------------------------\n");
  }
  name = null;
  }
  event = null;
  }
  }catch (IOException ioe){
  System.out.println("XML Parsing Error: " + ioe);
  ioe.printStackTrace();
  }finally{
  parser = null;
  }  
  }

  protected void pauseApp(){}
  
  public void parseAddressTag( XmlParser parser ) throws IOException {
  ParseEvent event = null;
  while ((event = parser.peek()).getType() != Xml.END_DOCUMENT) {
  String name = event.getName();
  int type = event.getType();
  if (type == Xml.END_TAG && name.equals("details")) {
  event = null;
  name = null;
  return;
  }
  event = parser.read();
  if (type != Xml.START_TAG) {
  event = null;
  continue;
  }
  ParseEvent next = parser.read();
  if (next.getType() != Xml.TEXT) {
  event = null;
  next = null;
  continue;
  }
  String text = next.getText();
  System.out.println( name + ": " + text );
  event = null;
  text = null;
  next = null;
  }
  }

  protected void destroyApp(boolean arg){
  notifyDestroyed();
  }
} 

employee.xml

<employee>

  <details>
  <name>Sandeep Kumar Suman</name>
  <designation>J2ME Programmer</designation>
  <city>Gorakhpur</city>
  <state>UP</state>
  </details>

</employee>

Download Source Code of the application discussed above.

Advertisements

 

We have 1000s of tutorials on our website. Search Tutorials tutorials on our website.

Share on Google+Share on Google+

Kxml Parser Example

Posted on: December 18, 2008 If you enjoyed this post then why not add us on Google+? Add us to your Circles

Advertisements

 

Discuss: Kxml Parser Example  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0

Ads

 

Ads