9

如果我试图检索第一个数组, (String) response.getProperty(0);但它返回给我一个完整的字符串。

**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;

}

我收到了 Vector 类型的回复

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

这是返回响应的图像

我尝试了很多方法,但我没有成功以任何方式检索?

4

2 回答 2

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) {

        }
于 2011-12-16T12:05:01.547 回答
0

解析你想要的部分的字符串。使用字符串类的正则表达式或子字符串函数。

于 2011-12-16T12:07:29.213 回答