2011-12-16 20 views
9

(String) response.getProperty(0);を使用して最初の配列を取得しようとしていますが、完全な文字列が返されていました。AndroidのKSOAP Webサービスからオブジェクトの配列を取得するにはどうすればよいですか?

**Here is the code of webservice calling** 

public static Object getResponse(String methodName, String actionName, LinkedHashMap<String, String> valueStrings) 
{ 
    SoapObject soapObject = new SoapObject(LetUsClickAPIConstants.COMMON_NAMESPACE, methodName); 
    Object response = null; 
    for (Map.Entry<String, String> mapKeys : valueStrings.entrySet()) 
    { 
     soapObject.addProperty(mapKeys.getKey(), mapKeys.getValue()); 
    } 
    final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    envelope.dotNet = false; 
    envelope.setOutputSoapObject(soapObject); 
    final AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(LetUsClickAPIConstants.COMMON_URL); 
    try 
    { 
     androidHttpTransport.call(actionName, envelope); 
     response = envelope.getResponse(); 
     Log.d("Response ", response.toString()); 
    } catch (final IOException e) 
    { 
     Log.d("Exception", "" + e); 
    } catch (final XmlPullParserException e) 
    { 

     Log.d("Exception", "" + e); 
    } 
    return response; 

} 

私はベクトル型

[Client{UserId=93; nickName=ladies; }, Client{UserId=94; nickName=ABCD; }] 

Here is the image of return response

で応答を得た私は、多くの方法を試してみましたが、私はどのような方法で取得するための成功ではないのですか?

答えて

0

次のコードを使用するには...

Soapresponse = Ksoap.CallService("SOAP_METHOD_NAME); 

     try { 
      if (Soapresponse != null) { 
       SoapObject Soapresult = (SoapObject) Soapresponse 
         .getProperty(0); 

       if (Soapresult != null) { 
        SoapObject Dataset = (SoapObject) Soapresult 
          .getProperty(1); 
        if (Dataset != null) { 
         SoapObject Table = (SoapObject) Dataset 
           .getProperty(0); 
         if (Table != null) { 
          UserId= new String[Table.getPropertyCount()]; 
          nickName= new String[Table 
            .getPropertyCount()]; 

          for (int i = 0; i < total_News; i++) { 
           SoapObject row = (SoapObject) Table 
             .getProperty(i); 

           UserId[i] = row.getProperty("UserId") 
             .toString(); 
           nickName[i] = row.getProperty(
             "nickName").toString(); 
                   } 
         } 
        } 
       } 
      } 

     } catch (NullPointerException f) { 

     } catch (ClassCastException d) { 

     } 
0

がしたい部分の文字列を解析します。文字列クラスの正規表現または部分文字列関数を使用する。

関連する問題