如何从android中的soap响应中获取值?

时间:2013-02-11 05:05:13

标签: android web-services ksoap2

以下用于Web服务响应的xml标记,我不知道如何解析它..帮助我..

<NewDataSet>
            <JOBLIST>
            <CSIDNO>CS13224</CSIDNO>
            <PName>Selva</PName>
            <HouseID>G 34</HouseID>
            <NAME>Dilipan</NAME>
            <Address>Coimbatore</Address>
            </JOBLIST>
            <JOBLIST>
            <CSIDNO>CS13224</CSIDNO>
            <PName>Selva</PName>
            <HouseID>G 35</HouseID>
            <NAME>Kanrupannan</NAME>
            <Address>Coimbatore</Address>
            </JOBLIST>
            </NewDataSet>

我正在使用以下java代码.....

for(int i=0;i<result.getPropertyCount();i++)
        {
            SoapObject ob=(SoapObject)result.getProperty(i);
            homeid[i]=String.valueOf(ob.getProperty("HouseID"));
            namearr[i]=String.valueOf(ob.getProperty("NAME"));
            address[i]=String.valueOf(ob.getProperty("Address"));
            csidno[i]=String.valueOf(ob.getProperty("CSIDNO"));


        }

如何从xml标签中获取值..

2 个答案:

答案 0 :(得分:2)

为什么使用Soap有不同种类的解析方法,你可以使用其中一种。解析方法是SAXParser,Json解析器,DOM解析器,XML拉解析器。在yourt情况下,SAX解析器将很好地解析。请参阅thisthis教程。它将帮助您解析您收到的xml。如果他们帮助你,请告诉我

答案 1 :(得分:0)

非常简单,你必须将respose作为一个字符串并使用模式匹配来提取你需要的细节&gt;请看这篇文章希望它可以帮助你,你理解它。

String r = NameArray.columncount("userid", limitstart, loadNumber,loggername);
String temp = r.replaceAll(";\\s", ",").replaceAll("string=", " ")
.replace("anyType{", "").replace(",}", "");
enter code here

检查此链接是否有分步说明 http://amalan008.blog.com/2013/02/07/how-to-process-an-array-returned-by-a-wsdl-android/