WebService :实现DataSet , DataTable , XML 的返回。。。。
Posted on 2009-07-16 11:50 且行且思 阅读(1569) 评论(0) 编辑 收藏 举报using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Xml;
/// <summary>
/// AdminService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
/* 管理远程服务接口
* 创建人:
* 创建日期:09-07-16
* 修改人:
* 修改日期:
* 在WebService的方法中为DataTable命名,否则引用端会报错!
*/
[Serializable]
public class AdminService : System.Web.Services.WebService
{
public AdminService()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod(Description = "DataSet集合")]
public DataSet GetDataSet()
{
DataTable dt = new DataTable("mytable");
DataColumn dc = new DataColumn("id", typeof(string));
dt.Columns.Add(dc);
DataRow dr = dt.NewRow();
dr["id"] = "1111111";
dt.Rows.Add(dr);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds;
}
[WebMethod(Description = "dt帐号集合")]
public DataTable getAccounts(String ID)
{
//= new DataTable("Accounts")
DataTable dt =new DataTable();
dt.TableName = "Accounts";
dt.Columns.Add("id");
dt.Columns.Add("name");
for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
dr["id"] = i.ToString();
dr["name"] = "name" + i.ToString();
dt.Rows.Add(dr);
}
return dt;
}
[WebMethod(Description = "xml")]
public string xmlStr()
{
string str;
str = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
str += "<Items>";
for (int i = 1; i < 10; i++)
{
str += "<Item>";
str += "<name>nam" + i + "</name>";
str += "<grender>boy" + i + "</grender>";
str += "<from>shanghai" + i + "</from>";
str += "</Item>";
}
str += "</Items>";
XmlDocument dcxml = new XmlDocument();
dcxml.LoadXml(str);
return str;
}
}
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Xml;
/// <summary>
/// AdminService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
/* 管理远程服务接口
* 创建人:
* 创建日期:09-07-16
* 修改人:
* 修改日期:
* 在WebService的方法中为DataTable命名,否则引用端会报错!
*/
[Serializable]
public class AdminService : System.Web.Services.WebService
{
public AdminService()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod(Description = "DataSet集合")]
public DataSet GetDataSet()
{
DataTable dt = new DataTable("mytable");
DataColumn dc = new DataColumn("id", typeof(string));
dt.Columns.Add(dc);
DataRow dr = dt.NewRow();
dr["id"] = "1111111";
dt.Rows.Add(dr);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds;
}
[WebMethod(Description = "dt帐号集合")]
public DataTable getAccounts(String ID)
{
//= new DataTable("Accounts")
DataTable dt =new DataTable();
dt.TableName = "Accounts";
dt.Columns.Add("id");
dt.Columns.Add("name");
for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
dr["id"] = i.ToString();
dr["name"] = "name" + i.ToString();
dt.Rows.Add(dr);
}
return dt;
}
[WebMethod(Description = "xml")]
public string xmlStr()
{
string str;
str = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
str += "<Items>";
for (int i = 1; i < 10; i++)
{
str += "<Item>";
str += "<name>nam" + i + "</name>";
str += "<grender>boy" + i + "</grender>";
str += "<from>shanghai" + i + "</from>";
str += "</Item>";
}
str += "</Items>";
XmlDocument dcxml = new XmlDocument();
dcxml.LoadXml(str);
return str;
}
}
客户端:(添加Web服务引用)
testWebService.AdminService accout = new testWebService.AdminService();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "text/xml";
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.Write(accout.xmlStr());
HttpContext.Current.Response.End();