Sunday, December 19, 2010

Post XML Data to an ASP.NET Page using C#

By S Sansanwal | 18 May 2005
This article describes the function to post XML data to an ASP.NET page and then read the data on an ASP.NET page
19
Article Browse Code Stats Revisions
3.53 (23 votes)
Sponsored Links

See Also
Articles like this
Articles by this author
Code For Posting

To post XML, use the following function:

Collapse
WebRequest req = null;
WebResponse rsp = null;
try
{
string fileName = "C:\test.xml";
string uri = "http://localhost/PostXml/Default.aspx";
req = WebRequest.Create(uri);
//req.Proxy = WebProxy.GetDefaultProxy(); // Enable if using proxy
req.Method = "POST"; // Post method
req.ContentType = "text/xml"; // content type
// Wrap the request stream with a text-based writer
StreamWriter writer = new StreamWriter(req.GetRequestStream());
// Write the XML text into the stream
writer.WriteLine(this.GetTextFromXMLFile(fileName));
writer.Close();
// Send the data to the webserver
rsp = req.GetResponse();

}
catch(WebException webEx)
{

}
catch(Exception ex)
{

}
finally
{
if(req != null) req.GetRequestStream().Close();
if(rsp != null) rsp.GetResponseStream().Close();
}Function to read xml data from local system
///
/// Read XML data from file
///

/// /// returns file content in XML string format
private string GetTextFromXMLFile(string file)
{
StreamReader reader = new StreamReader(file);
string ret = reader.ReadToEnd();
reader.Close();
return ret;
}
Code For Reading Posted Data

Now, on the Web server in the ASP.NET page, write the following code to access the posted data:

Collapse
private void Page_Load(object sender, EventArgs e)
{
page.Response.ContentType = "text/xml";
// Read XML posted via HTTP
StreamReader reader = new StreamReader(page.Request.InputStream);
String xmlData = reader.ReadToEnd();
}
License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

No comments:

Post a Comment