2012-04-26 13 views
1

私は、アンドロイドのAsyncTaskからサーバーへのHTTPポストリクエストのポストリクエストを発しています。MangeのHTTPレスポンスin android

問題は私が対応を管理する際に直面している問題です。ここで私はどのように応答を読んだ。

HttpEntity entity =response.getEntity(); 
if (entity != null) { 

    DataInputStream in = new DataInputStream(entity.getContent()); 
    String str; 
    while ((str = in.readLine()) != null){ 


    Log.e("Debug","Server Response second url"+str); 

} 
    in.close(); 
} 

問題は、私は、作品内に応答を取得していますが、私は一枚

電流応答

Server Response second url 
Server Response second url<header><status>Success</status><message>Check the Numbers: 
Server Response second url123456.</message><vbal>5005</vbal></header> 

必要な応答

<header><status>Success</status><message>Check the Numbers:123456.</message><vbal>5005</vbal></header> 
でそれらを望んでいました

私はワンピースでそれを取得する場合、私は簡単にXMLの応答を解析し、必要な値をフェッチすることができます。

答えて

1

これはあなたのために働く必要があります。

StringBuilder sb = new StringBuilder(); 
String str; 
while ((str = in.readLine()) != null) { 
    sb.append(str); 
} 
in.close(); 
str = sb.toString(); //here you have the string you need. 
Log.e("Debug","Server Response second url" + str); 
1

あなたがApacheのコモンズ持ちの場合:それ以外の場合は

Reader in = new InputStreamReader(entity.getContent(), "UTF-8"); 

StringWriter writer = new StringWriter(); 
IOUtils.copy(in, writer); 

String str = writer.toString(); 

を、

final char[] buffer = new char[0x10000]; 
StringBuilder out = new StringBuilder(); 
Reader in = new InputStreamReader(entity.getContent(), "UTF-8"); 

try { 
    int read; 

    do { 
     read = in.read(buffer, 0, buffer.length); 
     if (read > 0) 
      out.append(buffer, 0, read); 
    } while (read >= 0); 
} finally { 
    in.close(); 
} 

String str = out.toString(); 
関連する問題