明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

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;        
    }

}

 

 

客户端:(添加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();