Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > 一个发送xml远程请求和接收xml请求结果并置入DataSet的方法
【标  题】:一个发送xml远程请求和接收xml请求结果并置入DataSet的方法
【关键字】:xml,xml,DataSet
【来  源】:http://blog.csdn.net/brightview/archive/2006/06/03/771070.aspx

一个发送xml远程请求和接收xml请求结果并置入DataSet的方法

Your Ad Here

  /// <summary>
  /// 返回查询结果
  /// </summary>
  /// <param name="RequestString">请求的字符串</param>
  /// <param name="WriteText">是否打印出表格</param>
  /// <returns></returns>
  public static System.Data.DataSet GetDataSetByRequest(string RequestString,bool WriteText)
  {
   String requestStr="http://192.168.1.1/post.aspx";

   String str="request="+RequestString; //request为请求的参数,RequestString是请求的字符串
   
   byte[] bytes = Encoding.GetEncoding("GB2312").GetBytes(str);  //可以设置编码
   WebRequest webrequest = WebRequest.Create(requestStr);   
   webrequest.Method = "POST";//请求的类型
   webrequest.Timeout = 300000;   //超时的毫秒数
   webrequest.ContentType="application/x-www-form-urlencoded";   
   System.Data.DataSet DS = new DataSet(); 
   webrequest.ContentLength=bytes.Length;
   Stream oStreamOut = null;
   try
   {
     oStreamOut = webrequest.GetRequestStream();   
   }
   catch
   {
    webrequest.Abort();
    DS.Dispose();
    System.Web.HttpContext.Current.Response.Write("请求超时,当前的字符串为:<br>" + System.Web.HttpContext.Current.Server.HtmlEncode(RequestString));
    System.Web.HttpContext.Current.Response.End();
   }
   finally
   {
    

   }
   
   oStreamOut.Write(bytes,0,bytes.Length);
   oStreamOut.Close();

   WebResponse myWebResponse = null;

   try
   {
    myWebResponse = webrequest.GetResponse();
   }
   catch
   {
    webrequest.Abort();
    DS.Dispose();
    System.Web.HttpContext.Current.Response.Write("获取返回的记录出错,当前的字符串为:<br>" + System.Web.HttpContext.Current.Server.HtmlEncode(RequestString));
    System.Web.HttpContext.Current.Response.End();
   }

   Stream streamResponse=myWebResponse.GetResponseStream();
   Encoding encode = Encoding.GetEncoding("GB2312");
   StreamReader streamRead = new StreamReader(streamResponse, encode);
   System.Xml.XmlTextReader Reader = new System.Xml.XmlTextReader(streamRead);
   DS.ReadXml(Reader);
   Reader.Close();
   streamResponse.Close();
   streamRead.Close();
   myWebResponse.Close();
   //Console.Read();     

打印返回的Datable
   if(WriteText)
   {
    System.Text.StringBuilder strT = new StringBuilder();
    for(int i=0;i<DS.Tables.Count;i++)
    {
     strT.Append("<br>Table" + i.ToString() + " " + DS.Tables[i].TableName + ":<hr><Table width=100% border=1>");
     for(int x=0;x<DS.Tables[i].Rows.Count;x++)
     {
      strT.Append("<tr>");
      for(int y=0;y<DS.Tables[i].Columns.Count;y++)
      {
       strT.Append("<td>");
       strT.Append(DS.Tables[i].Columns[y].ColumnName.ToString() + ":<br>");
       strT.Append(DS.Tables[i].Rows[x][y].ToString ());
       strT.Append("</td>");
      }
      strT.Append("</tr>");

     }
     strT.Append("</table>");
    }
    System.Web.HttpContext.Current.Response.Write(strT.ToString());
   }
   return DS;
 
  }

使用AJAX控件来实现Ajax操作(支持服务器事件):【上一篇】
《Visual C++技术内幕》读书笔记:【下一篇】
【相关文章】
  • 写给XML初学者的一些话
  • 学习XML的一些体验式建议
  • 使用 DHTML 与 XML 制作 Ajax 幻灯片
  • utf8编码的xml文档CMarkup类处理不了
  • 使用sax解析xml文件
  • dom4j创建xml
  • 使用jdom读取xml文件例子
  • 如何读取xml和写cookie
  • 用JAVA解析XML的一个小程序
  • Sample of build.xml
  • 【随机文章】
  • 亲身体验JIT(Just in time compilation)
  • 导入导出大全
  • 5类25对多对数双绞线
  • Red Hat Linux 7.1整体评价
  • 使用 view + stub 管理多层网域
  • 数据库的实现
  • 揭开11g的最大谜团--b/g混合模式
  • 自动脱壳之Procdump中文说明书(1)
  • 系统“DNA” 乾坤大挪移
  • Running windows 2000 in Ubuntu 5.1 through Win4lin
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.