Note that there are some explanatory texts on larger screens.

plurals
  1. POparsing from xml file and grouping according to the contents of tags
    text
    copied!<p>This is my xml file <a href="http://www.yupptv.com/mobile/androidxml.aspx" rel="nofollow">http://www.yupptv.com/mobile/androidxml.aspx</a> I want to show the channels with name ,id ,image,type and link according to the type i.e if type is 'news channel' ,I have to display all channels under that type. how can i do that? here is my code for listactivity ` </p> <pre><code> ArrayList&lt;HashMap&lt;String, String&gt;&gt; channelist = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;(); XMLParser parser = new XMLParser(); String xml = parser.getXmlFromUrl(url);// getting XML Document doc = parser.getDomElement(xml); // getting DOM element NodeList nl = doc.getElementsByTagName(CHANNEL); // looping through all item nodes &lt;item&gt; for (int i = 0; i &lt; nl.getLength(); i++) { // creating new HashMap HashMap&lt;String, String&gt; map = new HashMap&lt;String, String&gt;(); Element e = (Element) nl.item(i); // adding each child node to HashMap key =&gt; valuez map.put(NAME, parser.getValue(e,NAME )); Log.i("name"+ NAME, "created"); map.put(ID, parser.getValue(e,ID)); map.put(TYPE,parser.getValue(e,TYPE )); map.put(LANGUAGE,parser.getValue(e,LANGUAGE )); map.put(IMAGE,parser.getValue(e,IMAGE)); map.put(LINK,parser.getValue(e,LINK )); map.put(BANDWIDTH,parser.getValue(e,BANDWIDTH)); map.put(CELLNAPID, parser.getValue(e,CELLNAPID )); if(map.containsKey(TYPE)&amp;&amp;TYPE=="News Channel") { channelist.add(map); } } ListAdapter adapter = new SimpleAdapter(this, channelist, R.layout.list_item, new String[] { NAME, ID,TYPE,LANGUAGE,IMAGE,LINK,BANDWIDTH,CELLNAPID}, new int[] { R.id.name, R.id.id,R.id.type,R.id.language,R.id.image,R.id.link,R.id.bandwidth,R.id.cellnapid }); setListAdapter(adapter); </code></pre> <p>`</p> <p>xml parser.java</p> <pre><code>public String getXmlFromUrl(String url) { String xml =null ; try { // defaultHttpClient DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); xml = EntityUtils.toString(httpEntity); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); // e.printStackTrace(err); } // return XML return xml; } public Document getDomElement(String xml){ Document doc = null; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); doc = db.parse("http://www.yupptv.com/mobile/androidxml.aspx"); } catch (ParserConfigurationException e) { Log.e("Error: ", e.getMessage()); return null; } catch (SAXException e) { Log.e("Error: ", e.getMessage()); return null; } catch (IOException e) { Log.e("Error: ", e.getMessage()); return null; } // return DOM return doc; } public String getValue(Element item, String str) { NodeList n = item.getElementsByTagName(str); return this.getElementValue(n.item(0)); } public final String getElementValue( Node elem ) { Node child; if( elem != null){ if (elem.hasChildNodes()){ for( child = elem.getFirstChild(); child != null; child = child.getNextSibling() ){ if( child.getNodeType() == Node.TEXT_NODE ){ return child.getNodeValue(); } } } } return ""; } </code></pre> <p>Pls help</p> <p>Thanks in advance</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload