如何在android中解析URL内容到字符串

时间:2014-03-08 21:44:29

标签: java android string url

我有一个有效的URL,但我不能像普通Java那样将其内容解析为字符串。我对android很新。大多数情况下,我将我的普通Java代码转换为android Java,这段代码在Java NetBeans中完美运行,但在Android Studio中则无法运行。

P.S.编译器/在运行时期间没有错误甚至警告。它只是不起作用,当我检查字符串长度为“天气”时它是0。

String weather="";
            try {
                weather = new Scanner(new URL("http://api.openweathermap.org/data/2.5/forecast?lat="+lat+"&lon="+longi+"&units=metric&mode=xml").openStream(), "UTF-8").useDelimiter("\\A").next();
            } catch (Exception e) {

            }

1 个答案:

答案 0 :(得分:0)

您可以使用Jsoup.查看其“cookbook”获取教程和更多信息,但这是一个简单的示例:

    String WeatherString; //Declare earlier in code - Before "onCreate" method.
@Override
        protected Void doInBackground(Void... unused) {
            org.jsoup.nodes.Document doc = null;
            try {
                doc = Jsoup.connect("http://api.openweathermap.org/data/2.5/forecast").get();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace(); 
        }

            WeatherString = doc.select("dl#weather dt + dd + dt + dd ").first().text(); //Input here where the xml code is that you want to parse to a string

            return null;        
        }

此代码位于AsyncTask内。希望这可以帮助。再次,请参阅Jsoup网站上的“食谱”以获取更多信息。