getting the value from an attribute of an element in an rss xml feed

by LuKeNuKuM » Fri, 04 Sep 2009 01:53:03 GMT


Sponsored Links
 i folks,

i've been struggling to find a way to read in a url value from within
a tag in an xml feed. im so close but i just can't seem to crack it.

i started out using this http://www.devx.com/wireless/Article/39810/1954
as a guide which works great but customising it to read in an
attribute of an element is causing me problems.

the feed is here:
http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml

within the xml's 'item' element is <media:thumbnail width="X"
height="X" url="X"/> it's the url attribute im after. i can get the
title back fine but the structure of the media:thumbnail tag means im
missing something!

what's interesting(!?) is the fact that when i remove the loop and
only go for the first item, i get the image back! the line with strImg
= imgElement.getAttribute("url") just won't work within the loop...
any ideas are greatly appreciated.

this is very rough n ready, im learning :-)

========================

package apps.httpDownload;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;

import android.widget.ImageView;
import android.widget.TextView;

public class httpDownload extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

ArrayList<String> dataReturned = DownloadRSS("http://
newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml");

TextView txt = (TextView) findViewById(R.id.text);
for (int i = 0; i < dataReturned.size(); i++) {
if (i < 10)
txt.setText(txt.getText() + "\n" + dataReturned.get(i) +
"\n");

Bitmap bitmap =
DownloadImage(dataReturned.get(1));
ImageView img = (ImageView) findViewById(R.id.img);
img.setImageBitmap(bitmap);

}


}

private InputStream OpenHttpConnection(String urlString)
throws IOException
{
InputStream in = null;
int response = -1;

URL url = new URL(urlString);
URLConnection conn = url.openConnection();

if (!(conn instanceof HttpURLConnection))
throw new IOException("Not an HTTP connection");

try{
HttpURLConnection httpConn = (HttpURLConnection) conn;
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.connect();

response = httpConn.getResponseCode();
if (response == HttpURLConnection.HTTP_OK) {
in = httpConn.getInputStream();
}
}
catch (Exception ex)



Other Threads

1. Please share the info about the problem "app is not visible on Android Market"

Hi, All.

The end of last year, there were discussions about the problem
regarding to the visibility of apps on Android Market.

App Not showing up on Verizon DROID Phones

2. Share files with different Activities running in different processes in a application.

Hi,

      I would like to share a cache file across activities, which are
running in different processes but in a same application.

      The operations on the file are:
      Read: context.openFileInput->read fileInputStream->close
fileInputStream
      Delete: context.deleteFile
      Write:context.openFileOuput->Write to fileOutputStream  ->close
fileOutputStream

      So, is there any way to make it thread safe (probably not
"thread safe", should we call it "activities safe" or "process
safe" ?:-) )

Thanks a lot.

-- 

3. how to make textview clickable

4. Butuh penawaran harga

5. WTT : HTC Tattoo

6. Pantheon Spica 2.1 Force Close

7. Apps sprti microsft office