2016-09-26 1 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; }; 
}; 
}; 
}; 
} 

입니다. 이미 구문 분석을 시도하지만 작동하지 않습니다. Please Guide!

어떻게 데이터를이 필드에서 가져와야합니까? 데이터 추출을 위해 이러한 방법을 제공하는 라이브러리가 있습니까 !!

답변

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(); 
    } 
관련 문제