我在我的 Android 应用程序中调用基于 soap 的网络服务。它返回给我 XML 响应。我该如何解析它?我检查了 XML 解析它要求的 URL。我对需要传递哪个 URL 感到困惑?
代码如下:
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); request.addProperty("pStrType", type);
request.addProperty("pIntPageNo", PageNo)
request.addProperty("pIntPageSize", PageSize);
//Log.v(LOG_TAG," value:="+name);
//Log.v(LOG_TAG," value:="+pass);
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
try
{
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject resultstring = (SoapObject) envelope.bodyIn;
Log.v(LOG_TAG," value:="+resultstring);
String Result=resultstring.toString();
这之后怎么办?我在 (resultString) 中得到响应字符串。
最佳答案
如果您知道如何使用 SAX XML 解析器,您可以将字符串转换为字节流并将其传递给您的处理程序。
String result=resultstring.toString(); SAXParser saxP = SAXParserFactory.newInstance().newSAXParser(); ResponseHandler respH = new ResponseHandler();//your implementation saxP.parse(new ByteArrayInputStream(result.getBytes()), respH);
如果您不知道 SAX 解析器,我建议您先了解它。很简单。
希望对您有所帮助。
关于java - 在 Android 中访问基于 Soap 的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934276/