Android连接C#做的WEBSERVICE,怎么解析XML?
hili 2016-03-02 10:23:20 C#做的webservic,使用浏览器打开显示如下:
<string xmlns="http://FengX.com/">
<NewDataSet><Table><id>5</id><username>newuser</username><nickname>weiwei</nickname><pass>123456789</pass><age>30</age><phone>13938988995</phone><regtime>2016-02-24T16:51:58.283+08:00</regtime><regip>0.0.0.0</regip><blacklist>0</blacklist></Table></NewDataSet>
</string>
使用ANDROID 获取的数据
<NewDataSet><Table><id>5</id><username>newuser</username><nickname>weiwei</nickname><pass>123456789</pass><age>30</age><phone>13938988995</phone><regtime>2016-02-24T16:51:58.283+08:00</regtime><regip>0.0.0.0</regip><blacklist>0</blacklist></Table></NewDataSet>
android代码如下:
String URL = "http://192.168.1.108/fengservice.asmx";//wsdl 的uri
String NAMESPACE = "http://FengX.com/";//namespace
String METHOD_NAME2 = "GetUserInfoFromID";//要调用的方法名称
String MemberLogin_SOAP_ACTION = NAMESPACE + "GetUserInfoFromID";
String rs = "";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME2);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(MemberLogin_SOAP_ACTION, envelope);
SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
rs = result.toString();
} catch (Exception e)
{
Log.e("Exception:", e.toString());
}
return rs;
//----------------------------------------------------------------------------------
//如果把SoapPrimitive result = (SoapPrimitive) envelope.getResponse();替换为SoapObject result = (SoapObject) envelope.getResponse();
//会出错java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive cannot be cast to org.ksoap2.serialization.SoapObject
//改为SoapObject result = (SoapObject) envelope.bodyIn; 正常
rs = result.getProperty("username").toString();
显示错误 java.lang.RuntimeException: illegal property: username
C#返回的xml格式正确吗?我想获取username的信息,接下来要如何解析?