C# Webservice返回指定的xml格式

最近在做项目的时候遇到需要与客户的组织信息资料进行webservice对接,需要用客户指定的xml格式。

格式如下:



   
    
       
      success
      200
       
        XXX
       XXX
       XXX
       XXX
       XXX
       XXX
       
       
      
   
  

C# webservice 写法

注意:soap.Append拼接的字段里面不能有多余的空格

  private string _returnstr(string message, string status, DataTable dt)
        {
            StringBuilder soap = new StringBuilder(); //构造请求报文  
            soap.Append("");
            soap.Append("");
            soap.Append("");
            soap.Append("");
            soap.AppendFormat("{0}", message);
            soap.AppendFormat("{0}", status);
            if (status == "200")
            {
                soap.Append("");
                soap.AppendFormat("{0}", dt.Rows[0][0].ToString());
                soap.AppendFormat("{0}", dt.Rows[0][1].ToString());
                soap.AppendFormat("{0}", dt.Rows[0][2].ToString());
                soap.AppendFormat("{0}", dt.Rows[0][3].ToString());
                soap.AppendFormat("{0}", dt.Rows[0][4].ToString());
                soap.AppendFormat("XXX", dt.Rows[0][5].ToString());
                soap.AppendFormat("{0}", dt.Rows[0][6].ToString());
                soap.AppendFormat("{0}", dt.Rows[0][7].ToString());
                soap.Append("");
            }
            soap.Append("");
            soap.Append("");
            soap.Append("");
            soap.Append("");
            String requestSoap = soap.ToString();
            return requestSoap;

        }
 [WebMethod]
        public XmlDocument _getAttendanceMonthData(string employeeid, string year, string month)
        {
            string xmlstr = getData(employeeid, year, month);
            XmlDocument XmlDoc = new XmlDocument();
            XmlDoc.LoadXml(xmlstr);
            return XmlDoc;
        }

说明:

getData方法是将数据从数据库中搜出来,并将datatable 传给_returnstr进行拼接,并返回

因此才有:

string xmlstr = getData(employeeid, year, month);

然后在用XmlDocument接收数据,并在接口中返回XmlDocument类型的数据





你可能感兴趣的:(Webservice)