Как проанализировать один или несколько сложных объектов в одном ответе ksoap2 - PullRequest
2 голосов
/ 29 февраля 2012

сервер дает мне сложный ответ XML. у него есть три сложных объекта list.but, в отличие от других сложных списков объектов, он не определен стандартно. Вот определение wsdl:

<xs:complexType name="SinseiDataForMobile">
  <xs:sequence>
  <xs:element name="originalHeader" type="HeaderData" minOccurs="0" maxOccurs="1" /> 
  <xs:element name="dispHeader" type="HeaderDataForMobile" maxOccurs="unbounded" /> 
  <xs:element name="dispBody" type="BodyDataForMobile" maxOccurs="unbounded" /> 
  <xs:element name="dispHyo" type="HelloDataForMobile" maxOccurs="unbounded" /> 
  </xs:sequence>
  </xs:complexType>

и ответ xml:

<ns2:sinseiData>
        <ns2:originalHeader>
           <ns2:syoruiCode>test002</ns2:syoruiCode>
           <ns2:syoruiName>test002</ns2:syoruiName>
           <ns2:syoruiHan>1</ns2:syoruiHan>
        </ns2:originalHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_HKD</ns2:key>
           <ns2:value>2012</ns2:value>
        </ns2:dispHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_KBN_KINKYU</ns2:key>
           <ns2:value>ss</ns2:value>
        </ns2:dispHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_SRI_CODE</ns2:key>
           <ns2:value>test002</ns2:value>
        </ns2:dispHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_SRI_NAME</ns2:key>
           <ns2:value>test002</ns2:value>
        </ns2:dispHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_HKU_NO</ns2:key>
           <ns2:value>a002</ns2:value>
        </ns2:dispHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_HKU_NAME</ns2:key>
           <ns2:value>asdf ad</ns2:value>
        </ns2:dispHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_HKU_SID</ns2:key>
           <ns2:value>test001</ns2:value>
        </ns2:dispHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_HKU_SNAME</ns2:key>
           <ns2:value>test001</ns2:value>
        </ns2:dispHeader>
        <ns2:dispHeader>
           <ns2:key>SHD_ATN</ns2:key>
           <ns2:value/>
        </ns2:dispHeader>
        <ns2:dispBody>
           <ns2:koumokuSyubetu>1</ns2:koumokuSyubetu>
           <ns2:value>0022</ns2:value>
        </ns2:dispBody>
        <ns2:dispHyo>
           <ns2:hyoNo>1</ns2:hyoNo>
           <ns2:hyoName>table1</ns2:hyoName>
        </ns2:dispHyo>
        <ns2:dispHyo>
           <ns2:hyoNo>2</ns2:hyoNo>
           <ns2:hyoName>table2</ns2:hyoName>
        </ns2:dispHyo>
     </ns2:sinseiData>

Как мне справиться с этим списком трех неопределенных длин. Сопоставление soapEnvelope здесь не работает. Любая помощь будет признательна!

1 Ответ

0 голосов
/ 29 февраля 2012

Смотрите этот блог о ksoap Начало работы с KSOAP на Android

Надеюсь, это поможет.

...