从HTML响应中提取数据 - Android

时间:2012-08-19 12:03:51

标签: java android html api http-get

在我的Android应用中,我正在使用对其API的GET请求访问网站。该请求返回带有各种用户信息的HTML文件。由此,我想知道如何提取用户数据,例如他们的个人资料图片,他们的数据等。我想知道如何访问和检索此数据以显示在我的应用程序中。

非常感谢任何帮助。

提前致谢。

3 个答案:

答案 0 :(得分:1)

如果您只想访问数据,可以使用JSON格式输出api并从应用程序中读取JSON,例如:

public void getData(){

          String result = "";



          //http post

          try{
                 HttpClient httpclient = new DefaultHttpClient();
                 HttpPost httppost = new HttpPost("http://website.com/download.html");
                 HttpResponse response = httpclient.execute(httppost);
                 HttpEntity entity = response.getEntity();
                 InputStream is = entity.getContent();

                  BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                  StringBuilder sb = new StringBuilder();
                  String line = null;
                  while ((line = reader.readLine()) != null) {
                          sb.append(line + "\n");
                  }
                  is.close();
                  result=sb.toString();

          }catch(Exception e){
                  Log.e("log_tag", "Error converting result "+e.toString());
          }



          //parse json data

          try{
                JSONArray jArray = new JSONArray(result);
                  for(int i=0;i<jArray.length();i++){
                          JSONObject json_data = jArray.getJSONObject(i);
                          names.add("   " + json_data.getString("name"));
                          age.add("   " + Integer.toString(json_data.getInt("age")));

                  }

          }catch(JSONException e){
                  Log.e("log_tag", "Error parsing data "+e.toString());

          }
}

答案 1 :(得分:0)

最简单的方法是 HTML解析以提取和操作数据然后转到JSoup ......

有关详细信息,请参阅此链接:

http://jsoup.org/

答案 2 :(得分:-1)

最简单的方法是在WebView中显示HTML数据。