5

重複の可能性:
ksoap2応答の解析

そのため、AndroidでKSoap2を使用してWebサービスを呼び出すことができましたが、応答を解析する方法が見つかりません...

So here's what I receive from the webservice
anyType{
WORCCategoriaSubcategoriaRecord=anyType{ssENCategoria=anyType{Id=1; Nome=Problema na rua; }; ssENSubcategoria=anyType{Id=1; Nome=Falta de acesso; Imagem=anyType{}; CategoriaId=1; }; }; 

WORCCategoriaSubcategoriaRecord=anyType{ssENCategoria=anyType{Id=1; Nome=Problema na rua; }; ssENSubcategoria=anyType{Id=2; Nome=Falta de Passadeira; Imagem=anyType{}; CategoriaId=1; }; }; 
}

そして、これが私がWebサービスを呼び出すために使用しているコードです...

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        //request.addProperty("Celsius", "32");

        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        //soapEnvelope.dotNet = true;
        soapEnvelope.setOutputSoapObject(request);
        soapEnvelope.dotNet = true;
        AndroidHttpTransport aht = new AndroidHttpTransport(URL);
        try{
            aht.call(SOAP_ACTION, soapEnvelope);
            //SoapPrimitive resultString = (SoapPrimitive)soapEnvelope.getResponse();
            SoapObject resultsRequestSOAP = (SoapObject) soapEnvelope.bodyIn;
            int elementCount = resultsRequestSOAP.getPropertyCount();

            if(elementCount>0){
                SoapObject element;
                for(int i = 0;i<elementCount;i++){
                    element = (SoapObject)resultsRequestSOAP.getProperty(i);
                }
            }

        }catch(Exception ex){
            ex.printStackTrace();
        }

すべてのプロパティを「手動で」解析しなくても、「簡単に」解析する方法はありますか?XMLパーサーのようなもの...

4

2 に答える 2

3

ここを見てください。このコードは、複合型を操作し、KSOAPで複合型の配列を返すように最適化されていると思います。

KSOAPを使用してオブジェクトの配列を返すWebサービス

于 2010-11-17T11:48:40.860 に答える
1

自動マーシャリングを設定できます。いくつかのチュートリアルへのリンクについては、ksoap2-androidプロジェクトのリンクセクションを確認してください。

于 2010-11-04T20:55:38.817 に答える