如何正确地从Web REST获取我想要的值,从用Java编写的android应用程序获取?
这是我的API请求:如何正确地从Web REST获取我想要的值,从用Java编写的android应用程序获取?,java,android,xml,rest,api,Java,Android,Xml,Rest,Api,这是我的API请求: http://api.met.no/weatherapi/locationforecast/1.9/?lat=59.91;lon=10.76 我需要从上面得到2个值,即位置和时间下方的温度“值”,以及位置和时间下方的符号“数字”。但是现在我只想得到温度值 我遵循了不同的指南,但没有任何帮助 这就是我现在拥有的。我有: private class TemperatureTask extends AsyncTask<String, Void, Void> {
http://api.met.no/weatherapi/locationforecast/1.9/?lat=59.91;lon=10.76
我需要从上面得到2个值,即位置和时间下方的温度“值”,以及位置和时间下方的符号“数字”。但是现在我只想得到温度值
我遵循了不同的指南,但没有任何帮助
这就是我现在拥有的。我有:
private class TemperatureTask extends AsyncTask<String, Void, Void> {
TextView tv;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(String... Url) {
try {
URL url = new URL(Url[0]);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(url.openStream()));
doc.getDocumentElement().normalize();
nodelist = doc.getElementsByTagName("time");
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void args) {
Node node = nodelist.item(0);
if(node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
testView.setText(testView.getText() + "\nTemperature: "
+ getNode("location", element));
}
}
}
private static String getNode(String tag, Element element) {
NodeList nodeList = element.getElementsByTagName(tag).item(0)
.getChildNodes();
Node value = (Node) nodeList.item(0);
return value.getNodeValue();
}
无论如何,我没有任何例外,但是
+ getNode("location", element));
不返回任何内容
我能做些什么来获取温度?这对我来说需要花费很多时间的原因是,我看到的大多数XML都没有这种格式,其属性有很多这样的值
+ getNode("location", element));