Click here to Skip to main content
15,881,715 members
Articles / Web Development / IIS
Article

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

Rate me:
Please Sign up or sign in to vote.
3.79/5 (31 votes)
18 May 2005CPOL 366.9K   61   23
This article describes the function to post XML data to an ASP.NET page and then read the data on an ASP.NET page

Code For Posting

To post XML, use the following function:

C#
 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
/// <summary>
/// Read XML data from file
/// </summary>
/// <param name="file"></param>
/// <returns>returns file content in XML string format</returns>
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:

C#
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)


Written By
Architect
Australia Australia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralThis is a quick and easy guide!! Pin
ideasfreelance10-Nov-05 8:03
ideasfreelance10-Nov-05 8:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.