[.net]利用xml在两个不同的站点上传递数据

看到标题大家可能会想到WebService,可是这里我没有用到WebService,只是采用了最基本的http post方法。

在 .net 中 XmlDocument 对象有一个 Load 方法,可以从流中读取 xml。可以先用http post 方法,站点1把要处理的数据(xml 格式)发送到站点2上,站点2上对 xml 文件处理后将处理结果直接用 Response.Write() 方法写出。当然站点2上的这个页面不可以有其他别的输出,只可以有 xml 的输出。代码如下:

站点1:

   //建立与站点2通讯的request对象
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create( site2address );
   
//获取cookie
   request.CookieContainer = Cookies;
   request.Method 
= "POST";
   Stream requestStream 
= request.GetRequestStream();
   
//将 xml 数据转换为字节数组
   byte [] data = System.Text.Encoding.UTF8.GetBytes( xml.OuterXml );
   
//发送到站点2
   requestStream.Write( data, 0, data.Length );
   requestStream.Flush();
   requestStream.Close();
   
//获得站点2返回的 response 对象
   HttpWebResponse response =(HttpWebResponse)request.GetResponse();
   Stream responseStream 
= response.GetResponseStream();
   
//建立从站点2返回的 xml 对象
   XmlDocument result = new XmlDocument();
   result.Load( responseStream );
   
//关闭连接
   responseStream.Close();
   
//设置cookie
   response.Close();

站点2:

   //读取站点1发送过来的 xml 数据
   XmlDocument requestXml = new XmlDocument();
   xml.Load( Request.InputStream );

   .
//处理并生成 responseXml

   
//向站点1返回数据
   Response.Write( responseXml.OuterXml )

文章来源:http://blog.csdn.net/lxfan/archive/2006/07/13/916736.aspx

posted on 2006-07-13 22:58  7ero  阅读(275)  评论(0)    收藏  举报

导航