Top Menu

Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Thursday 18 September 2014

xml parsing in android


Here i have added coding for parsing data from the rss feed using xmlpullparser.

Here i ,parsing the data from the xml tag and set it into the listview.

First,

 

You have the pass the URL as a String

 

String url=”EnterURL”;

 

Then,use the following code to parse the data.

 

Parsing.Java

 

import java.io.IOException;

import java.io.InputStream;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.ArrayList;

import java.util.List;

import org.xmlpull.v1.XmlPullParser;

import org.xmlpull.v1.XmlPullParserException;

import org.xmlpull.v1.XmlPullParserFactory;


import com.example.headlines.R;


import android.app.ListActivity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.TextView;

public class Parsing extends ListActivity

{

List headlines;

List links;

TextView txt1;

Intent intent1;

String siteName=””;

public void onCreate(Bundle savedInstanceState) 

{

super.onCreate(savedInstanceState);

setContentView(R.layout.parsing);

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

siteName=getIntent().getStringExtra(“siteName”);

txt1.setText(“From: “+siteName);

headlines = new ArrayList();

links = new ArrayList();

try 

{

URL url = new URL(getIntent().getDataString());

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();

factory.setNamespaceAware(false);

XmlPullParser xpp = factory.newPullParser();

xpp.setInput(getInputStream(url), “UTF_8″);

boolean insideItem = false;

int eventType = xpp.getEventType();


//check the tag upto the end tag

while (eventType != XmlPullParser.END_DOCUMENT) 

{

if (eventType == XmlPullParser.START_TAG) 

{


//check the tag and parsing the data and set it into the String Array.


if (xpp.getName().equalsIgnoreCase(“item”)) 

{

insideItem = true;


else if (xpp.getName().equalsIgnoreCase(“title”)) 

{

if (insideItem)

headlines.add(xpp.nextText()); //extract the headline


else if (xpp.getName().equalsIgnoreCase(“link”)) 

{

if (insideItem)

links.add(xpp.nextText());

}

}

else if(eventType==XmlPullParser.END_TAG && xpp.getName().equalsIgnoreCase(“item”))

{

insideItem=false;

}

eventType = xpp.next(); 

}



catch (MalformedURLException e) 

{

e.printStackTrace();


catch (XmlPullParserException e) 

{

e.printStackTrace();

}

catch (IOException e) 

{

e.printStackTrace();

}


//set the data to the listview


ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, headlines);

setListAdapter(adapter);

}

public InputStream getInputStream(URL url) 

{

try 

{

return url.openConnection().getInputStream();


catch (IOException e) 

{

return null;

}

}

}

No comments:

Post a Comment