代码如下
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Xml; using System.Data; using System.Data.SqlClient; using System.Collections; namespace WebServiceTest { /// <summary> /// Test 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 // [System.Web.Script.Services.ScriptService] public class Test : System.Web.Services.WebService { [WebMethod] public int Test1(int a,int b) { return a+b; } [WebMethod] public int Test2(int a, int b) { return a - b; } [WebMethod] public XmlDocument Test3(int a, int b) { string xmlstr = "<nm values='" + a + "' date='2014-1-2' count='14' page='" + b + "'>" + "<domain>张三</domain>" + "<domain>张三</domain>" + "<domain>张三</domain>" + "<domain>张三</domain>" + "</nm>"; //关键 XmlDocument XmlDoc = new XmlDocument(); XmlDoc.LoadXml(xmlstr); return XmlDoc; } [WebMethod] public XmlDocument GetStudentById(int a) { SqlConnection con = new SqlConnection(); con.ConnectionString = "server=.;database=Test;uid=sa;pwd=sa"; con.Open(); //创建数据库命令 SqlCommand cmd = con.CreateCommand(); //创建查询语句 cmd.CommandText = "SELECT * FROM stu_test where stu_id="+a; //从数据库中读取数据流存入reader中 SqlDataReader reader = cmd.ExecuteReader(); //从reader中读取下一行数据,如果没有数据,reader.Read()返回flase Hashtable ht = new Hashtable(); while (reader.Read()) { //reader.GetOrdinal("id")是得到ID所在列的index, //reader.GetInt32(int n)这是将第n列的数据以Int32的格式返回 //reader.GetString(int n)这是将第n列的数据以string 格式返回 int stu_id = reader.GetInt32(reader.GetOrdinal("stu_id")); string stu_name = reader.GetString(reader.GetOrdinal("stu_name")); int stu_age = reader.GetInt32(reader.GetOrdinal("stu_age")); string stu_class= reader.GetString(reader.GetOrdinal("stu_class")); //格式输出数据 ht.Add("stu_id",stu_id); ht.Add("stu_name", stu_name); ht.Add("stu_age", stu_age); ht.Add("stu_class", stu_class); } Object stu_id1 = ht["stu_id"].ToString(); Object stu_name1 = ht["stu_name"].ToString(); Object stu_age1 = ht["stu_age"].ToString(); Object stu_class1 = ht["stu_class"].ToString(); string xmlstr = "<student stu_id='" + a + "' date='2014-1-2'>" + "<stu_name>" + stu_name1 + "</stu_name>" + "<stu_age>" + stu_age1 + "</stu_age>" + "<stu_class>" + stu_class1 + "</stu_class>" + "</student>"; //关键 XmlDocument XmlDoc = new XmlDocument(); XmlDoc.LoadXml(xmlstr); return XmlDoc; } } }
测试
结果如下图