2016-09-26 11 views
0

マイコードこの石鹸レスポンスを解析する方法はありますか?

protected void getComplaits(String Payroll_no) { 
    SoapObject request = new SoapObject(sd.NAMESPACE, sd.GET_COMPLAINTS_LIST); 
    PropertyInfo Payroll_info = new PropertyInfo(); 
    Payroll_info.setName("Payroll_no"); 
    Payroll_info.setValue(Payroll_no); 
    Payroll_info.setType(double.class); 
    request.addProperty(Payroll_info); 

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
    envelope.dotNet = true; 
    envelope.setOutputSoapObject(request); 
    HttpTransportSE androidHttpTransport = new HttpTransportSE(sd.URL); 
    try { 
     androidHttpTransport.call(sd.GET_COMPLAINTS_LIST_SOAP_ACTION, envelope); 
     SoapObject result = (SoapObject) envelope.bodyIn; 
     result1 =result.toString(); 

    } catch (Exception e) { 
     result1 = e.toString(); 
    } 

} 

これはどのように私はCOMPLAINT_NO、COMPLAINT_TYPE、CONSUMER_TYPE、COMPLAINT_TIMEデータを取得する必要があります

Get_Complaints_listResponse 
{Get_Complaints_listResult=anyType 
{schema=anyType 
{element=anyType 
{complexType=anyType 
{choice=anyType 
{element=anyType 
{complexType=anyType 
{sequence=anyType 
{element=anyType{}; element=anyType {}; element=anyType{}; element=anyType{}; 
}; 
}; 
}; 
}; 
}; 
}; 
}; 
diffgram=anyType 
{DocumentElement=anyType 
{ 
Complaints_list=anyType{ 
COMPLAINT_NO=5951113; COMPLAINT_TYPE=NSI; CONSUMER_TYPE=M; COMPLAINT_TIME=0500; }; 

Complaints_list=anyType{ 
COMPLAINT_NO=403730614; COMPLAINT_TYPE=VLF; CONSUMER_TYPE=M; COMPLAINT_TIME=2340; }; 
}; 
}; 
}; 
} 

マイSOAP応答です。 私はすでに解析していますが、うまくいきません、ガイドしてください!

どのようにデータをこのフィールドから取得する必要がありますか?データを抽出するためのこれらのメソッドを提供するライブラリはありますか?

答えて

0

私はいくつかの記事を読んだ後に解決策を見つけました。ありがとう、スタックオーバーフローメンバー

try { 
     androidHttpTransport.call(sd.GET_COMPLAINTS_LIST_SOAP_ACTION, envelope); 
     SoapObject root = (SoapObject) envelope.bodyIn; 
     SoapObject t = (SoapObject)root.getProperty(0); 
     SoapObject t1 = (SoapObject)t.getProperty(1); 
     SoapObject t2 = (SoapObject)t1.getProperty(0); 


     for(int i = 0;i < t2.getPropertyCount();i++) 
     { 
      SoapObject Complaint_list = (SoapObject) t2.getProperty(i); 
      SoapPrimitive complaint_no = (SoapPrimitive)Complaint_list.getProperty(0); 
      SoapPrimitive complaint_type = (SoapPrimitive)Complaint_list.getProperty(1); 
      SoapPrimitive consumer_type = (SoapPrimitive)Complaint_list.getProperty(2); 
      SoapPrimitive complaint_time = (SoapPrimitive)Complaint_list.getProperty(3); 

      Log.i("complaint_no",complaint_no.toString()); 
      Log.i("complaint_type",complaint_type.toString()); 
      Log.i("consumer_type",consumer_type.toString()); 
      Log.i("complaint_time",consumer_type.toString()); 

     } 
    } catch (Exception e) { 
     result1 = e.toString(); 
    } 
関連する問題