Android tutorial - XML Parsing in Android | Domparser - android app development - android studio - android development tutorial




 dom parser of xml parsing

What is XML Parsing?

  • Parsing XML refers to going through XML document to access data or to modify data in one or other way.

What is DOM Parser?

  • The Document Object Model is an official recommendation of the World Wide Web Consortium (W3C).
  • It defines an interface that enables programs to access and update the style, structure and contents of XML documents.
  • XML parsers that support the DOM implement that interface.
  • We can parse the xml document by dom parser also. It can be used to create and parse the xml file.
android xml parser sample code

usage of dom?

  • You should use a DOM parser when:
  • You need to know a lot about the structure of a document
  • You need to move parts of the document around (you might want to sort certain elements, for example)
  • You need to use the information in the document more than once
 xml parsing of android

Advantage of DOM Parser over SAX

  • It can be used to create and parse the xml file both but SAX parser can only be used to parse the xml file.

Disadvantage of DOM Parser over SAX

  • It consumes more memory than SAX.

Example of android DOM Xml parsing

activity_main.xml

  • Drag the one textview from the pallete. Now the activity_main.xml file will look like this:
  • File: activity_main.xml
<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    tools:context=".MainActivity" >  
  
    <TextView  
        android:id="@+id/textView1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignParentLeft="true"  
        android:layout_alignParentTop="true"  
        android:layout_marginLeft="75dp"  
        android:layout_marginTop="46dp"  
        android:text="TextView" />  
  
</RelativeLayout>  
click below button to copy the code from android tutorial team

xml document

  • Create an xml file named file.xml inside the assets directory of your project.
  • File: file.xml
<?xml version="1.0"?>  
<records>  
<employee>  
<name>Sachin Kumar</name>  
<salary>50000</salary>  
</employee>  
<employee>  
<name>Rahul Kumar</name>  
<salary>60000</salary>  
</employee>  
<employee>  
<name>John Mike</name>  
<salary>70000</salary>  
</employee>  
</records>  
click below button to copy the code from android tutorial team

Activity class

  • Let's write the code to parse the xml using dom parser.
  • File: MainActivity.java
package com.wikitechy.domxmlparsing;  
import java.io.InputStream;  
  
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;  
import org.w3c.dom.Document;  
import org.w3c.dom.Element;  
import org.w3c.dom.Node;  
import org.w3c.dom.NodeList;  
import android.app.Activity;  
import android.os.Bundle;  
import android.widget.TextView;  
  
public class MainActivity extends Activity {  
TextView tv1;  
  
@Override  
public void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState);  
setContentView(R.layout.activity_main);  
tv1=(TextView)findViewById(R.id.textView1);  
try {  
InputStream is = getAssets().open("file.xml");  
  
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();  
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();  
Document doc = dBuilder.parse(is);  
  
Element element=doc.getDocumentElement();  
element.normalize();  
  
NodeList nList = doc.getElementsByTagName("employee");  
for (int i=0; i<nList.getLength(); i++) {  
  
Node node = nList.item(i);  
if (node.getNodeType() == Node.ELEMENT_NODE) {  
Element element2 = (Element) node;  
tv1.setText(tv1.getText()+"\nName : " + getValue("name", element2)+"\n");  
tv1.setText(tv1.getText()+"Salary : " + getValue("salary", element2)+"\n");  
tv1.setText(tv1.getText()+"-----------------------");  
}  
}//end of for loop  
  
} catch (Exception e) {e.printStackTrace();}  
  
}  
private static String getValue(String tag, Element element) {  
NodeList nodeList = element.getElementsByTagName(tag).item(0).getChildNodes();  
Node node = (Node) nodeList.item(0);  
return node.getNodeValue();  
}  
  
}  
click below button to copy the code from android tutorial team

Output:

 output parsing of xml parser

Related Searches to XML Parsing in Android | Domparser

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add wikitechy.com to your ad blocking whitelist or disable your adblocking software.

×