public static string PostXml(string url, string xml)
{
WebRequest request = null;
HttpWebResponse response = null;
string result = string.Empty;
try
{
request = WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "text/xml";
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.WriteLine(xml);
writer.Close();
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream objStream = response.GetResponseStream();
Byte[] buffer = new Byte[255];
int bytesRead = objStream.Read(buffer, 0, 255);
if (bytesRead > 0)
{
result = Encoding.UTF8.GetString(buffer).Replace("\0", string.Empty);
}
}
}
catch (WebException)
{ }
catch (Exception)
{ }
finally
{
if (request != null)
request.GetRequestStream().Close();
if (response != null)
response.GetResponseStream().Close();
}
return result;
}
其中,参数1是要post过去接收xml的页面地址。参数2是xml,因为比较小用了字符串形式的。
返回值result是post过去后的返回值。
另一个页面接收post过来的值。
Page.Response.ContentType = "text/xml";
StreamReader reader = new StreamReader(Page.Request.InputStream);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
XmlNode node = doc.SelectNodes("root/class")[0];
id = Int(node.SelectSingleNode("Id").InnerText);
if (save succesefully)
{
int id = ;
if (id > 0)
Response.Write("success");
else
Response.Write("fail");
Response.End();
}