2010-11-18 14 views
6

मैं प्रतिक्रिया प्राप्त कर सकता हूं। मैं XML दस्तावेज़ में प्रतिक्रिया कैसे प्राप्त कर सकता हूं? क्या मुझे बाहरी एक्सएमएल पार्सर का उपयोग करने की ज़रूरत है? किसी के लिए धन्यवाद में मदद करता हैApache Httpclient api के साथ XML दस्तावेज़ के रूप में प्रतिक्रिया कैसे प्राप्त करें?

DefaultHttpClient client = new DefaultHttpClient(); 
String getUrl = "http://myurl.com"; 

HttpUriRequest getRequest = new HttpGet(getUrl); 

getRequest.setHeader("User-Agent", "xxxx"); 

HttpResponse response = client.execute(getRequest); 
int statusCode = response.getStatusLine().getStatusCode(); 

log.info("statusCode=" + statusCode); 

if (statusCode == 200){ 
    HttpEntity entity = response.getEntity(); 
    String content = EntityUtils.toString(entity); 
    log.info("\n" + content); 
}else { 
    log.warn("failed to response"); 
} 

उत्तर

17

मैं अपने जवाब मिल गया है, यहाँ लोगों के लिए पद से वही सवाल

DefaultHttpClient client = new DefaultHttpClient(); 
String getUrl = "http://myurl.com"; 

HttpUriRequest getRequest = new HttpGet(getUrl); 

getRequest.setHeader("User-Agent", "xxxx"); 

HttpResponse response = client.execute(getRequest); 
int statusCode = response.getStatusLine().getStatusCode(); 

log.info("statusCode=" + statusCode); 

Document doc = null; 
     if (statusCode == 200){ 
      HttpEntity entity = response.getEntity(); 
      //String content = EntityUtils.toString(entity); 

      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
      try { 
       DocumentBuilder builder = factory.newDocumentBuilder(); 
       doc = builder.parse(entity.getContent()); 
      } catch (ParserConfigurationException e) {    
       e.printStackTrace(); 
      } catch (IllegalStateException e) { 
       e.printStackTrace(); 
      } catch (SAXException e) { 
       e.printStackTrace(); 
      }       
     } 
+0

एंड्रॉयड पर यह XmlPullParser उपयोग करने के लिए सिफारिश की है की है। यह एसएक्स और डोम की तुलना में अपेक्षाकृत सरल एपीआई है और तेजी से है और इसके बाद डीओएम एपीआई कम मेमोरी की आवश्यकता है। http://developer.android.com/training/basics/network-ops/xml.html – 2cupsOfTech

+0

आईडीई चेतावनी देता है DefaultHttpClient को बहिष्कृत किया गया है। इसके लिए विकल्प क्या है? HttpClient? –

+0

मेनुका इस्हान: विकल्प है HttpClient क्लाइंट = HttpClientBuilder.create()। Build(); – douglas