Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何正确地从Web REST获取我想要的值,从用Java编写的android应用程序获取?_Java_Android_Xml_Rest_Api - Fatal编程技术网

如何正确地从Web REST获取我想要的值,从用Java编写的android应用程序获取?

如何正确地从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> {

这是我的API请求:

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));