Я создаю андроид приложение (с помощью Android Studio), которая использует данные в реальном времени по ссылке: http://transportapi.com/v3/uk/public/journey/from/Ladbroke%20Grove/to/Turnham%20Green.xml?api_key=a0d27caa983732936f45a891ebca6452&app_id=dc5f42ae®ion=tflAndroid DOM разборе от URL
Информация в виде XML, то есть мне нужно, чтобы разобрать его в мой с использованием анализатора DOM. Однако ошибка, кажется, происходит, когда код попадает в данный момент:
Document doc = db.parse(new InputSource(url.openStream()));
Моя программа не показывает никаких ошибок, когда я запускаю его, он просто выдает ошибку каждый раз, когда он достигнет этой точки на коде. Это приводит к тому, что «не чтение» распечатывается в textView (объявляется как tv1 в коде).
Я понимаю, что здесь есть много вопросов относительно разбора XML из URL-адреса на Android, однако ни одна из них, похоже, не помогает моей ситуации! Если у кого-то есть идеи, что я сделал неправильно, они были бы очень оценены.
try {
URL url = new URL("http://transportapi.com/v3/uk/public/journey/from/Ladbroke%20Grove/to/Turnham%20Green.xml?api_key=a0d27caa983732936f45a891ebca6452&app_id=dc5f42ae®ion=tfl");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbFactory.newDocumentBuilder();
Document doc = db.parse(new InputSource(url.openStream()));
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("route");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
tv1.setText(tv1.getText() + "Duration of route " + ": " + getValue("duration", eElement) + "\n");
}
}
}
} catch (Exception e) {
e.printStackTrace();
tv1.setText("not reading");
}
private static String getValue(String sTag, Element eElement) {
NodeList nlList = eElement.getElementsByTagName(sTag).item(0).getChildNodes();
Node nValue = (Node) nlList.item(0);
return nValue.getNodeValue();
}
}
так, что делает 'e.printStackTrace();' печать? – wero
ничего не печатает –