Parsing XML with Android and Java -
i have parse xml https://i.imgur.com/guahb4t.jpg extract highlighted string under "detailpageurl" tag. did try have quite confused ideas. i'm working on android sdk
import android.os.asynctask; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.nodelist; import org.xml.sax.saxexception; import java.io.ioexception; import java.net.malformedurlexception; import java.net.url; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.parserconfigurationexception; public class reflinkfetcher extends asynctask<string, void, string> { string reflink = null; @override protected string doinbackground( string... url){ document doc = openxml(url[0]); element rootelement = doc.getdocumentelement(); reflink = getstring("detailpageurl", rootelement); return reflink; } public string getreflink(){ return reflink; } private document openxml(string url) { document doc = null; try { documentbuilderfactory dbf = documentbuilderfactory.newinstance(); documentbuilder db = dbf.newdocumentbuilder(); doc = db.parse(new url(url).openstream()); } catch (saxexception e1) { e1.printstacktrace(); } catch (parserconfigurationexception e1) { e1.printstacktrace(); } catch (malformedurlexception e2) { e2.printstacktrace(); } catch (ioexception e3) { e3.printstacktrace(); } return doc; } private string getstring(string tagname, element element) { nodelist list = element.getelementsbytagname("items"); if (list != null && list.getlength() > 0) { nodelist sublist = list.item(0).getchildnodes(); //0=items if (sublist != null && sublist.getlength() > 0) { sublist = sublist.item(4).getchildnodes(); //4=item if( sublist != null && sublist.getlength() >0 ) { sublist = sublist.item(2).getchildnodes(); //2=detailpageurl if( sublist != null && sublist.getlength() >0 ) { return sublist.item(0).getnodevalue(); // value?? } } } } return null; } } the final return null being executed. think "getstring" method quite poor too. how can improve it?
check nice open source library, need nice xml parser.
Comments
Post a Comment