2014-11-21 4 views
0

Я сделал вид деятельности в android, в том, что я сделал многопользовательский запрос объекта с использованием HttpPost, теперь я получаю успешный ответ. Кроме того, я не знаю, как получить эти данные response.i попытались количество ссылок для разбора XML, но без luck.Please помочь мне this.how, чтобы получить данные из моего XML respose.My код, как показано ниже:как разбирать XML-данные из HTTPResponse в android

Войти

try { 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(Consts.API_HOST + "/login"); 

     try { 
      // Add your data 
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
        2); 
      nameValuePairs.add(new BasicNameValuePair("apiKey", 
        "JU7Jqt6X")); 
      nameValuePairs.add(new BasicNameValuePair("type", "xml")); 
      nameValuePairs.add(new BasicNameValuePair("email", 
        "[email protected]")); 
      nameValuePairs.add(new BasicNameValuePair("pwd", "123")); 
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

      // xml response..!jigar... 
      ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
      String responseBody = httpclient.execute(httppost, 
        responseHandler); 


      // end of res jigar... 
      System.out 
        .println("::::::::::::::::::::::::;;MY RESPONSE IN LOGIN ATIVITY::::::::::" 
          + responseBody); 

      // making doc 
      Document doc = null; 
      DocumentBuilderFactory factory = DocumentBuilderFactory 
        .newInstance(); 
      DocumentBuilder builder = factory.newDocumentBuilder(); 
      StringReader sr = new StringReader(responseBody); 
      InputSource is = new InputSource(sr); 
      doc = builder.parse(is); 



     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
     } 
    } catch (Exception e) { 

     System.out 
       .println("::::::::::::::::::::::::::::MY exception in edit::::::::::::::::" 
         + e.getMessage()); 

     return null; 
    } 
    return null; 

    // Parsing Procedure...... 

Ответ

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<root> 
<id> 
8 
</id> 
<personal_title> 
Mr. 
</personal_title> 
<first_name> 
a 
</first_name> 
<middle_name> 
b 
</middle_name> 
<last_name> 
c 
</last_name> 
<email> 
[email protected] 
</email> 
<password> 
202cb962ac59075b964b07152d234b70 
</password> 
<mobile_number> 
1234567890 
</mobile_number> 
<p_first_name> 

</p_first_name> 
<p_last_name> 

</p_last_name> 
<p_card_type> 

</p_card_type> 
<p_card_number> 

</p_card_number> 
<p_sec_code> 

</p_sec_code> 
<p_exp_month> 

</p_exp_month> 
<p_exp_year> 

</p_exp_year> 
<user_activation_key> 
14164668001 
</user_activation_key> 
<varification> 
1 
</varification> 
<send_mail> 
0 
</send_mail> 
<status> 
0 
</status> 
<register_date> 
2014-11-20 23:04:14 
</register_date> 
<last_visit_date> 
2014-11-20 23:04:14 
</last_visit_date> 
</root> 
+0

Пожалуйста, измените тему своего сообщения на 'как анализировать данные xml из xml-ответа'. Вы можете удалить весь свой код. Вместо этого отправьте ответ xml. – greenapps

+0

@ greenapps-вы должны увидеть код..и очевидно, что у меня есть ряд ссылок разбора ... но причина публикации - мой вопрос совсем другой. Пожалуйста, пройдите через code.its multipart request..не нравится .. xmlparse.execute (URL) .. !!! – jigar

+0

То, как вы делаете запрос, не имеет значения. У вас есть ответ. Вы хотите проанализировать ответ. Поэтому покажите ответ. – greenapps

ответ

0

Я получил свой ответ по-своему. Приветствую всех за ваши ответы, но у меня есть вопрос, решаемый моим путем. На самом деле все говорят мне о разном синтаксическом анализе, но я хочу знать о синтаксическом анализе от HTTP RESPONSE, поэтому у меня есть мое решение, вот оно: http://www.java2s.com/Code/Android/Development/getCharacterDataFromElement.htm

Спасибо за этот полезный пост.

+0

Пожалуйста, расскажите, как вы использовали это, чтобы извлечь нужные данные. – greenapps

+0

@ greenapps-just go to link..it показывает, как анализировать данные из String. – jigar

0
  String xml="<yourxml></yourxml>" 

      DefaultHttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost(url); 
      httpPost.setHeader("Content-Type", "application/xml"); 

      StringEntity entity = new StringEntity(xml); 
      httpPost.setEntity(entity); 

      HttpResponse httpResponse = httpClient.execute(httpPost); 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      xml = EntityUtils.toString(httpEntity);