发布XML请求和XML响应Volley Library

时间:2017-04-28 10:53:42

标签: android xml wcf post android-volley

我已经整合了与JSON合作的排球图书馆。现在我正在尝试访问WCF SOAP我不知道如何将XML字符串作为请求传递,以及如何将XML字符串作为响应。

4 个答案:

答案 0 :(得分:0)

您可以使用Volley的String请求。 String请求返回一个字符串,您可以使用XMLReader

进行解析
StringRequest req = new StringRequest(Request.Method.GET, url, 
new Response.Listener<String>() 
{
    @Override
    public void onResponse(String response) {
        processDataUsingXMLReader(reponse);
    }
}, 
new Response.ErrorListener() 
{
     @Override
     public void onErrorResponse(VolleyError error) {                                
     // handle error response
   }
}
);

答案 1 :(得分:0)

Private Sub deleteresourcebutton_Click() Dim teamname As String Dim resourcename As String Dim findteamname As Range Dim findresourcename As Range teamname = teamnametextbox.Text resourcename = resourcenametextbox.Text Set findteamname = Sheets("Sheet1").Range("7:7").Find(what:=teamname, MatchCase:=False, lookat:=xlWhole) Set findresourcename = Sheets("Sheet1").Range("8:8").Find(what:=resourcename, MatchCase:=False, lookat:=xlWhole) If findteamname = teamname And findresourcename = resourcename Then findresourcename.Select Selection.EntireColumn.Delete End If End Sub 没有任何XML请求,请查看官方文档:https://android.googlesource.com/platform/frameworks/volley/+/android-4.3_r0.9/src/com/android/volley/toolbox/

有两种方法可以做到:

  

方法1

因此,您必须使用Volley获取原始字符串,然后解析它。

代码:

StringRequest

要将StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() { @Override public void onResponse(String response) { // now, convert response (String) to XML } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { //error } } ); queue.add(request); 转换为String: 您可以尝试XML,它是一个XML Marshaling工具。链接:http://simple.sourceforge.net/download.php

示例代码(使用Simple-XML的字符串到xml):

Simple
  

方法2

试试这个Volley适配器类:https://gist.github.com/itsalif/6149365 它也是如此,使用Simple-XML来序列化XML对象,而无需您的编码工作。

答案 2 :(得分:0)

input[type=file] {
  display: none;
}

[for=headPortraitFile]:before {
  content: 'Label for #headPortraitFile ';
}

#headPortraitSubmit:before {
  content: 'Sumbit form .form-horizontal ';
}

//向请求队列添加请求         AppController.getInstance()。addToRequestQueue(strReq,tag_string_req);

答案 3 :(得分:0)

假设您要使用Android响应从String响应解析XML数据,您可以通过使用ByteArrayInputStream将响应转换为InputStream来实现此目的,如下所示:

StringRequest stringRequest = new StringRequest(Request.Method.GET, url, 
    new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            XMLParser xmlParser = new XMLParser();
            InputStream inputStream = new 
            ByteArrayInputStream(response.getBytes("UTF-8"));
            List<YourObject> object = new ArrayList<>();
            object.addAll(xmlParser.parseFeed(inputStream));
        }
    }, 
    new Response.ErrorListener() { 
        @Override
        public void onErrorResponse(VolleyError error) {                             
        }
    }
);

此示例仅演示解析RSS提要并在List中存储对象数组,更详细地说明here