Я пытаюсь прочитать RSS-канал Yahoo, но не могу заставить его работать правильно Код абсолютно правильный, я в этом уверен. Иногда это работает, но иногда я получаю UnknownHostException. В чем может быть причина? Есть ли проблемы с моим интернетом или что-то еще? Это мой код: -
public List<RssFeed> getRssFeed() {
try {
List<RssFeed> objList = new ArrayList<RssFeed>();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("http://rss.news.yahoo.com/rss/india");
//doc.getDocumentElement().normalize();
Element docElement = doc.getDocumentElement();
NodeList objChannelList = docElement.getChildNodes();
for (int intIndex = 0; intIndex < objChannelList.getLength(); intIndex++) {
if (objChannelList.item(intIndex).getNodeType() == Node.ELEMENT_NODE) {
Element elemItem = (Element) objChannelList.item(intIndex);
NodeList itemList = elemItem.getElementsByTagName("item");
//show only 3 news
int count = itemList.getLength() > 3 ? 3 : objChannelList.getLength();
for (int intSubIndex = 0; intSubIndex < count; intSubIndex++) {
NodeList itemDetailList = itemList.item(intSubIndex).getChildNodes();
String strTitle = ((Node) itemDetailList.item(RSS_VALUES.TITLE.getValue())).getFirstChild().getNodeValue();
String strdescription = ((Node) itemDetailList.item(RSS_VALUES.DESCRIPTION.getValue())).getFirstChild().getNodeValue();
String strLink = ((Node) itemDetailList.item(RSS_VALUES.LINK.getValue())).getFirstChild().getNodeValue();
//System.out.println(strTitle + "\n" + strdescription + "\n" + strLink + "\n\n\n\n");
objList.add(new RssFeed(strTitle, strdescription, strLink));
}
}
}
return objList;
} catch (SAXException ex) {
Logger.getLogger(Utils.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Utils.class.getName()).log(Level.SEVERE, null, ex);
} catch (ParserConfigurationException ex) {
Logger.getLogger(Utils.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
Заранее спасибо :). Эта проблема беспокоит меня с 1 месяца. Не знаю, почему Java в этом случае ведет себя в соответствии со своим настроением