2010-11-18 5 views
6

응답을받을 수 있습니다. XML 문서에서 응답을 얻으려면 어떻게해야합니까? 외부 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를 사용하는 것이 좋습니다 있습니다. SAX와 DOM에 비해 상대적으로 간단한 API를 가지고 있으며 DOM API보다 빠르며 적은 메모리를 필요로합니다. http://developer.android.com/training/basics/network-ops/xml.html – 2cupsOfTech

+0

IDE에서 DefaultHttpClient가 더 이상 사용되지 않습니다. 그 대안은 무엇입니까? HttpClient? –

+0

Menuka Ishan : 대안은 HttpClient입니다. client = HttpClientBuilder.create(). build(); – douglas

관련 문제