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

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

WebService :实现DataSet , DataTable , XML 的返回。。。。

Posted on   且行且思  阅读(1570)  评论(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();

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示