比如对服务端有个webservice,请问我这里有个xml的文件,如何xml的数据传给webservice里呢 

解决方案 »

  1.   

    要看对方的WebService是什么样的,估计参数是字符串,如果是这样的话,把XML读取出来,把内容作为字符串发过去就行了。
      

  2.   

    如果是对方是字符串的话,那我就没必要xml对嘛,直接datatable读取字符串出来 传过去就好了吧
      

  3.   

    那你怎么知道对方一定是传的xml   xml不也是字符串吗
      

  4.   

    Xml 格式可以是对象序列化的结果。那么利用webservice可以直接通过参数就传到服务端。只是考虑类似文件上传的话(无论文件内容如何)可以考虑webservice的stream方式。当然直接将xml内容作为Request body也可以。参考:http://blog.csdn.net/fangxinggood/article/details/6562317
    http://blog.csdn.net/fangxinggood/article/details/6279233
    http://blog.csdn.net/fangxinggood/article/details/6261431
      

  5.   

    谢谢,02.DataTable data = new DataTable("Project");  
    03.data.Columns.Add("Name");  
    04.data.Columns.Add("Birthday");  
    05.data.Rows.Add(new object[] { "Wendy", "1978/03/11" });  
    06.data.Rows.Add(new object[] { "Philip", "2000/11/05" });  
    07.data.Rows.Add(new object[] { "Felix", "1999/08/04" });  
    08.using (var ms = new MemoryStream())  
    09.{  
    10.    // 将DataTable用Xml格式写入流  
    11.    data.WriteXml(ms, XmlWriteMode.WriteSchema);  
    12.    var client = new WebClient();  
    13.    // 定义HttpRequest的Content-Type(xml,json等)  
    14.    client.Headers.Add("Content-Type", "text/xml");  
    15.    var url = "http://localhost:2609/Service1.asmx/SendXml";  
    16.    // Send HttpRequest  
    17.    var resp = client.UploadData(url, "POST", ms.ToArray());  
    18.    var strResp = System.Text.Encoding.UTF8.GetString(resp);  
    19.    MessageBox.Show(strResp);  
    20.}  
    我是不是只要像你blog的写的 只有写了以上代码  然后扔给 对方,而不需要管对方的webservice如何实现的