-2

ブラウザで取得しているSoap応答をコピーしました。Androidでsoapを使用してこの応答を解析するにはどうすればよいですか?SoapObject obj =(SoapObject)mySoapEnvelop.getResponse();を使用しました。しかし、私はobj.getPropertyCount()=1を取得しています。

私はこの時点で混乱しています誰かが私が出てくるのを助けることができますか?

これが私の完全な応答です:

true

<Data>
  <xs:schema id="NewDataSet" >
        <xs:element
            name="NewDataSet"
            msdata:IsDataSet="true"
            msdata:Locale="" >
            <xs:complexType>
                <xs:choice
                    maxOccurs="unbounded"
                    minOccurs="0" >
                    <xs:element name="Table" >
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element                     
                                    name="ID"
                                    minOccurs="0"
                                    type="xs:int" />
                                <xs:element
                                    name="UniqueID"
                                    minOccurs="0"
                                    type="xs:string"
                                    msdata:DataType="System.Guid, mscorlib,
           Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>        
                                <xs:element
                                    name="FullName"
                                    minOccurs="0"
                                    type="xs:string" />
                                <xs:element
                                    name="Title"
                                    minOccurs="0"
                                    type="xs:string" />
                                <xs:element
                                    name="Phone"
                                    minOccurs="0"
                                    type="xs:string" />
                               <xs:element
                                    name="Email"
                                    minOccurs="0"
                                    type="xs:string" />
                                <xs:element
                                    name="CreatedDate"
                                    minOccurs="0"
                                    type="xs:dateTime" />
                               <xs:element
                                    name="Website"
                                    minOccurs="0"
                                    type="xs:string" />
                               <xs:element
                                    name="CompanyName"
                                    minOccurs="0"
                                    type="xs:string" />
                                <xs:element
                                    name="LeadStatus"
                                    minOccurs="0"
                                    type="xs:string" />
                                <xs:element
                                    name="StatusName"
                                    minOccurs="0"
                                    type="xs:string" />
                                <xs:element
                                    name="IsRead"
                                    minOccurs="0"
                                    type="xs:boolean" />
                                <xs:element
                                    name="OwnerName"
                                    minOccurs="0"
                                    type="xs:string" />
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:choice>
            </xs:complexType>
        </xs:element>
    </xs:schema>

    <diffgr:diffgram>

        <NewDataSet>
           <Table
                diffgr:id="Table1"
                msdata:rowOrder="0" >
                <ID>6</ID>
                <UniqueID>8d93aab5-086f-41bb-b8ec-03b3eb0aa463</UniqueID>
                <FullName>bhatt</FullName>
                <Title />
                <Phone />
                <Email />
                <CreatedDate>2012-02-24T13:14:06.773+05:30</CreatedDate>
                <Website />
                <CompanyName>xyz</CompanyName>
                <LeadStatus>Qualified</LeadStatus>
                <StatusName>Approved</StatusName>
                <IsRead>false</IsRead>
                <OwnerName>Admin admin</OwnerName>
            </Table>
        </NewDataSet>
    </diffgr:diffgram>
</Data>

4

2 に答える 2

1
SoapObject result = (SoapObject)envelope.bodyIn;

if(result != null){

    int count = result.getPropertyCount();
    //TextView t = (TextView)this.findViewById(R.id.resultbox);
    //t.setText("SOAP response:\n\n" + count);

    SoapObject nameResult = (SoapObject) result.getProperty(0);
    // TextView t = (TextView)this.findViewById(R.id.resultbox);
    //t.setText("SOAP response:\n\n" + nameResult.toString());

    SoapObject test = (SoapObject) nameResult.getProperty(1);
    // TextView t = (TextView)this.findViewById(R.id.resultbox);
    // t.setText("SOAP response:\n\n" + test.toString());

    SoapObject dar = (SoapObject) test.getProperty(0);
    //TextView t = (TextView)this.findViewById(R.id.resultbox);
    //t.setText("SOAP response:\n\n" + dar.toString());

    SoapObject suvas = (SoapObject) dar.getProperty(0);
    int c = dar.getPropertyCount();
    TextView t = (TextView)this.findViewById(R.id.resultbox);
    t.setText("SOAP response:\n\n" + suvas.toString());
    //t.setText("SOAP response:\n\n" + c);
    //SoapObject nivas = (SoapObject) suvas.getProperty(NewsId);
    //TextView t = (TextView)this.findViewById(R.id.resultbox);
    // t.setText("SOAP response:\n\n" + nivas.toString());

}
于 2013-09-04T09:47:31.053 に答える
0

あなたはプログラミングの初心者だと思います。これは webservice のサービス記述であるため、この xml ファイルを解析することはできません。Webservice にはメソッドがあり、ブラウザでこれらのメソッドをクリックすると、任意のクライアントが呼び出して解析できる xml 出力データが得られます。データを解析するには、android/eclipse のこのWeb サービスも参照してください。

于 2012-06-27T11:18:23.197 に答える