Advertisement
n0tmE

android: fetch rss feed into ArrayList<T>

Jul 22nd, 2011
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.40 KB | None | 0 0
  1. protected static ArrayList<RssItem> parseRss(URL url) {
  2.     ArrayList<RssItem> items = new ArrayList<RssItem>();
  3.    
  4.     try {
  5.         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  6.        
  7.         if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
  8.             InputStream is = conn.getInputStream();
  9.  
  10.             DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  11.             DocumentBuilder db = dbf.newDocumentBuilder();
  12.             Document dom = db.parse(is);
  13.             NodeList nl = dom.getElementsByTagName("item");
  14.            
  15.             for (int i = 0; i < nl.getLength(); i++) {
  16.                 RssItem item = new RssItem();
  17.                 Element entry = (Element) nl.item(i);
  18.                
  19.                 item.title = entry.getElementsByTagName("title").item(0).getFirstChild().getNodeValue();
  20.                 item.abstractContent = entry.getElementsByTagName("description").item(0).getFirstChild().getNodeValue();
  21.                 item.contentUri = entry.getElementsByTagName("link").item(0).getFirstChild().getNodeValue();
  22.                 item.thumbnailUri = entry.getElementsByTagName("enclosure").item(0).getAttributes().getNamedItem("url").getNodeValue();
  23.                
  24.                 items.add(item);
  25.             }
  26.         }
  27.     } catch (DOMException e) {
  28.         e.printStackTrace();
  29.     } catch (IOException e) {
  30.         e.printStackTrace();
  31.     } catch (FactoryConfigurationError e) {
  32.         e.printStackTrace();
  33.     } catch (ParserConfigurationException e) {
  34.         e.printStackTrace();
  35.     } catch (SAXException e) {
  36.         e.printStackTrace();
  37.     }
  38.    
  39.     return items;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement