android - RSS Link Parsing using XMLPull Parser -


i developing application based on rss feed , want parse rss link using xml parser , followed tutorial , implement code using xmlpull parser , when want parse http://feeds.pcworld.com/pcworld/latestnews link , got response correctly , when want parse http://www.pokerlistings.com/feed/news link , parser didn't respond me .. don't know why ?

i spent 1 week problem .. please me .

here code

mainactivity.java

 package com.rajeshvijayakumar.xmlpullparser;      import java.util.arraylist;     import java.util.list;      import android.app.activity;     import android.app.progressdialog;     import android.content.context;     import android.os.asynctask;     import android.os.bundle;     import android.os.handler;     import android.view.view;     import android.view.viewgroup;     import android.widget.adapterview;     import android.widget.adapterview.onitemclicklistener;     import android.widget.arrayadapter;     import android.widget.listview;     import android.widget.textview;      import com.rajeshvijayakumar.model.rssfeed;     import com.rajeshvijayakumar.parser.newsfeedparser;      public class mainactivity extends activity implements onitemclicklistener {          private listview mrsslistview;         private newsfeedparser mnewsfeeder;         private list<rssfeed> mrssfeedlist;         private rssadapter mrssadap;          private static final string topstories ="http://www.pokerlistings.com/feed/blogs";           @override         protected void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);             setcontentview(r.layout.rss_feed_view);              mrsslistview = (listview) findviewbyid(r.id.rss_list_view);             mrssfeedlist = new arraylist<rssfeed>();             new dorssfeedtask().execute(topstories);               mrsslistview.setonitemclicklistener(this);         }          private class rssadapter extends arrayadapter<rssfeed> {             private list<rssfeed> rssfeedlst;              public rssadapter(context context, int textviewresourceid, list<rssfeed> rssfeedlst) {                 super(context, textviewresourceid, rssfeedlst);                 this.rssfeedlst = rssfeedlst;             }              @override             public view getview(int position, view convertview, viewgroup parent) {                  view view = convertview;                 rssholder rssholder = null;                 if (convertview == null) {                     view = view.inflate(mainactivity.this, r.layout.rss_list_item, null);                     rssholder = new rssholder();                     rssholder.rsstitleview = (textview) view.findviewbyid(r.id.rss_title_view);                     view.settag(rssholder);                 } else {                     rssholder = (rssholder) view.gettag();                 }                 rssfeed rssfeed = rssfeedlst.get(position);                 rssholder.rsstitleview.settext(rssfeed.gettitle());                 return view;             }         }          static class rssholder {             public textview rsstitleview;         }          public class dorssfeedtask extends asynctask<string, void, list<rssfeed>> {             progressdialog prog;             string jsonstr = null;             handler innerhandler;              @override             protected void onpreexecute() {                  prog = new progressdialog(mainactivity.this);                 prog.setmessage("loading....");                 prog.show();             }              @override             protected list<rssfeed> doinbackground(string... params) {                   (string urlval : params) {                      mnewsfeeder = new newsfeedparser(urlval);                     }                  mrssfeedlist = mnewsfeeder.parse();                  return mrssfeedlist;             }              @override             protected void onpostexecute(list<rssfeed> result) {                 prog.dismiss();                 runonuithread(new runnable() {                      @override                     public void run() {                         mrssadap = new rssadapter(mainactivity.this, r.layout.rss_list_item,                                 mrssfeedlist);                         int count = mrssadap.getcount();                         if (count != 0 && mrssadap != null) {                             mrsslistview.setadapter(mrssadap);                         }                     }                 });             }              @override             protected void onprogressupdate(void... values) {             }         }          @override         public void onitemclick(adapterview<?> adapterview, view v, int position, long id) {         }     } 

rssfeed.java

 package com.rajeshvijayakumar.model;      import java.io.serializable;     import java.util.date;      public class rssfeed implements serializable {          private string title;         private string link;         private string description;         private string category;         private string pubdate;         private string guid;         private string feedburneroriglink;          public rssfeed() {         }          public rssfeed(string title, string link, string description, string category, string pubdate,                 string guid, string feedburneroriglink) {             this.title = title;             this.link = link;             this.description = description;             this.category = category;             this.pubdate = pubdate;             this.guid = guid;             this.feedburneroriglink = feedburneroriglink;         }          public string gettitle() {             return title;         }          public string getlink() {             return link;         }          public string getdescription() {             return description;         }          public string getcategory() {             return category;         }          public string getpubdate() {             return pubdate;         }          public string getguid() {             return guid;         }          public string getfeedburneroriglink() {             return feedburneroriglink;         }           public void settitle(string title) {             this.title = title;         }          public void setlink(string link) {             this.link = link;         }          public void setdescription(string description) {             this.description = description;         }          public void setcategory(string category) {             this.category = category;         }          public void setpubdate(string pubdate) {             this.pubdate = pubdate;         }          public void setguid(string guid) {             this.guid = guid;         }          public void setfeedburneroriglink(string feedburneroriglink) {             this.feedburneroriglink = feedburneroriglink;         }      } 

newsfeedparser.java

package com.rajeshvijayakumar.parser;  import java.io.ioexception; import java.io.inputstream; import java.net.httpurlconnection; import java.net.url; import java.util.arraylist; import java.util.list;  import org.xmlpull.v1.xmlpullparser; import org.xmlpull.v1.xmlpullparserfactory;  import com.rajeshvijayakumar.model.rssfeed;  public class newsfeedparser {     private inputstream urlstream;     private xmlpullparserfactory factory;     private xmlpullparser parser;      private list<rssfeed> rssfeedlist;     private rssfeed rssfeed;      private string urlstring;     private string tagname;      private string title;     private string link;     private string description;     private string category;     private string pubdate;     private string guid;     private string feedburner;        public static final string item = "item";     public static final string channel = "channel";      public static final string title = "title";     public static final string link = "link";     public static final string description = "description";     public static final string category = "category";     public static final string publisheddate = "pubdate";     public static final string guid = "guid";     public static final string feedburneroriglink = "feedburner:origlink";       public newsfeedparser(string urlstring) {          this.urlstring = urlstring;     }      public static inputstream downloadurl(string urlstring) throws ioexception {            url url = new url(urlstring);         httpurlconnection conn = (httpurlconnection) url.openconnection();         conn.setrequestmethod("post");         conn.setdoinput(true);         conn.connect();         inputstream stream = conn.getinputstream();         return stream;     }      public list<rssfeed> parse() {         try {               int count = 0;             factory = xmlpullparserfactory.newinstance();             parser = factory.newpullparser();           //  urlstream = downloadurl(urlstring);              url url = new url("http://www.pokerlistings.com/feed/blogs");                parser.setinput(url.openconnection().getinputstream(), "utf_8");              // parser.setinput(urlstream, null);  //            url url = new url("http://www.rssboard.org/files/sample-rss-2.xml");         //            xmlpullparserfactory factory = xmlpullparserfactory.newinstance(); //            factory.setnamespaceaware(false); //            xmlpullparser xpp = factory.newpullparser(); //            xpp.setinput(url.openconnection().getinputstream(), "utf_8");                 int eventtype = parser.geteventtype();               boolean done = false;             rssfeed = new rssfeed();             rssfeedlist = new arraylist<rssfeed>();             while (eventtype != xmlpullparser.end_document && !done) {                 tagname = parser.getname();                  switch (eventtype) {                     case xmlpullparser.start_document:                           break;                     case xmlpullparser.start_tag:                         if (tagname.equals(item)) {                             rssfeed = new rssfeed();                         }                         if (tagname.equals(title)) {                             title = parser.nexttext().tostring();                         }                         if (tagname.equals(link)) {                             link = parser.nexttext().tostring();                         }                         if (tagname.equals(description)) {                             description = parser.nexttext().tostring();                         }                         if (tagname.equals(category)) {                             category = parser.nexttext().tostring();                         }                         if (tagname.equals(publisheddate)) {                             pubdate = parser.nexttext().tostring();                         }                         if (tagname.equals(guid)) {                             guid = parser.nexttext().tostring();                         }                         if (tagname.equals(feedburneroriglink)) {                             feedburner = parser.nexttext().tostring();                         }                         break;                     case xmlpullparser.end_tag:                           system.out.println(">>>>>>> newsfeedparser end tag");                          if (tagname.equals(channel)) {                             done = true;                         } else if (tagname.equals(item)) {                              rssfeed = new rssfeed(title, link, description, category, pubdate,                                     guid,                                     feedburner);                             rssfeedlist.add(rssfeed);                         }                         break;                 }                  eventtype = parser.nexttoken();                 //eventtype = parser.next();               //  eventtype++;                 system.out.println(">>>>>>> newsfeedparser parse method event type in ="+eventtype);             }         } catch (exception e) {             e.printstacktrace();         }          return rssfeedlist;      } } 

thanks in advance


Comments

Popular posts from this blog

assembly - 8086 TASM: Illegal Indexing Mode -

Java, LWJGL, OpenGL 1.1, decoding BufferedImage to Bytebuffer and binding to OpenGL across classes -

javascript - addthis share facebook and google+ url -