java - 在 Android 中访问基于 Soap 的 Web 服务

标签 java android xml parsing

我在我的 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/

相关文章:

java - 弯曲 : add/edit//delete from database

java - 在不应该使用整数和 double 时会给出不同的答案

java - 使用java查询反恐精英1.6服务器信息

javascript - d3js 加载静态 svg 在 IE9 中不起作用(responseXML = null)

javascript - xml 数据未显示在 html 页面中

XML UTF-8 数据的写入方式不同

java - 如何将java(awt)代码转换成jsp代码

java - 在 EditTextPreference 上设置输入类型

安卓 : Changing the color of ExpandableListView's group indicator

android - 将值从一个屏幕传递到另一个屏幕?