[.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 )

 

posted @ 2014-09-01 11:49  Alex.Net  阅读(155)  评论(0编辑  收藏  举报