Get a random BBC Headline from the RSS / XML

Get  random headline from the BBC using the DocumentFactory


ArrayList<NewsItem> items = new ArrayList<>();
try{
   DocumentBuilder builder = DocumentBuilderFactory.newInstance()
      .newDocumentBuilder();
   URL u = new URL("http://feeds.bbci.co.uk/news/technology/rss.xml");
   Document doc = builder.parse(u.openStream());
   NodeList nodes = doc.getElementsByTagName("item");
   for(int i = 0; i < nodes.getLength(); i++){
      Element element = (Element) nodes.item(i);
      NewsItem currentStory = new NewsItem(getElementValue(element, "title"),
         getElementValue(element, "description"), getElementValue(element, "link"),
         getElementValue(element, "pubDate"));
      items.add(currentStory);
   }
}
catch(Exception ex){
   if(ex instanceof java.net.ConnectException){
   }
}
Random random = new Random();
NewsItem item = items.get(random.nextInt(items.size() - 1));
return item;

Leave a comment