Тема: Парсинг XML документа по URL
Потрібно пропарсити XML документ: http://qps.ru/7UzLc
Як я розумію, є три варіанти:
1) скачати документ на флешку і тоді парсити;
2) напряму в парсер;
3) в стрінг-перемінну, а потім її парсити.
Ось сам парсер (DOM):
// XML-parser and output.
try {
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
//Document doc = docBuilder.parse(new File("/mnt/sdcard/download/weather.ashx.xml"));
Document doc = docBuilder.parse(new URL("http://free.worldweatheronline.com/feed/weather.ashx?q=Kijew&format=xml&num_of_days=3&key=c17b22aeea083658120612").openStream());
// Normalize text representation.
doc.getDocumentElement ().normalize ();
//
NodeList listOfPersons = doc.getElementsByTagName("request");
for(int s=0; s<listOfPersons.getLength() ; s++){
Node firstPersonNode = listOfPersons.item(s);
if(firstPersonNode.getNodeType() == Node.ELEMENT_NODE){
Element firstPersonElement = (Element)firstPersonNode;
//----
NodeList firstNameList = firstPersonElement.getElementsByTagName("query");
Element firstNameElement = (Element)firstNameList.item(0);
NodeList textFNList = firstNameElement.getChildNodes();
textView1.setText("City: " +
((Node)textFNList.item(0)).getNodeValue().trim());
}
}
}catch (SAXParseException err) {
textView2.setText("** Parsing error" + ", line "
+ err.getLineNumber () + ", uri " + err.getSystemId ());
textView2.setText(" " + err.getMessage ());
}catch (SAXException e) {
Exception x = e.getException ();
((x == null) ? e : x).printStackTrace ();
}catch (Throwable t) {
t.printStackTrace ();
}
//System.exit (0);
}
};
В коді використаний другий варіант, але нічого не відбувається.
Досвіду у мене мало, скільки не пробував зробити по зразкам з інтернету, так нічого й не виходило. Поможіть, будь ласка! Дякую.