Read XML data from URI : URI « Network « ASP.Net






Read XML data from URI



<%@ Page language="c#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
    <title>Default</title>
    <script runat="server">
        protected System.Xml.XmlDocument xmlSource = new System.Xml.XmlDocument();

    private void LoadButton_Click(object sender, System.EventArgs e) {
      System.IO.Stream xmlDocStream = GetXmlDoc(XmlSourceTextBox.Text);
      if(xmlDocStream!=null) {
        xmlSource.Load(xmlDocStream);
        ResultText.Text=xmlSource.InnerXml;
      } else {
        ResultText.Text="Could not resolve the XML document.";
      }
    }
    public static System.IO.Stream GetXmlDoc(string xmlsource) {
      System.IO.Stream stream=null;
      if(xmlsource.StartsWith("<?xml") || xmlsource.StartsWith("<schema") ) {
        stream = new System.IO.MemoryStream(System.Text.ASCIIEncoding.ASCII.GetBytes(xmlsource));
      } else {
        try {
          System.Uri xmluri = new System.Uri(xmlsource);          
          if(xmluri.IsFile) {
            stream = new System.IO.FileStream(xmlsource, System.IO.FileMode.Open);
          } else {
            System.Net.HttpWebRequest request =  (System.Net.HttpWebRequest) System.Net.WebRequest.Create(xmluri);
            System.Net.WebResponse response = request.GetResponse();      
            stream = response.GetResponseStream();
          }
        }catch(Exception e) {
        }
      }
      return stream;
    }

    private void SaveButton_Click(object sender, System.EventArgs e) {
      if(xmlSource==null || xmlSource.InnerText=="") xmlSource.LoadXml(ResultText.Text);
      try {
        string path=FilePathText.Text.Substring(0, FilePathText.Text.LastIndexOf(@"\"));
        if(System.IO.Directory.Exists(path)) {
          try {
            xmlSource.Save(FilePathText.Text);
            SaveResultsText.Text=FilePathText.Text + " was saved successfully.";
          }catch(Exception saveErr) {
            SaveResultsText.Text=saveErr.ToString();
          }
        } else {
          SaveResultsText.Text="Directory Doesnt Exist, Try a different path.";
          FilePathText.Text="";
        }

      }catch(Exception saveError) {
        SaveResultsText.Text=saveError.ToString();
      }
    }

    </script>
  </HEAD>
  <body>
    <form id="Form1" method="post" runat="server">
      <asp:textbox id="XmlSourceTextBox" runat="server" Width="380" Height="162px" TextMode="MultiLine"></asp:textbox><br />
      <asp:button id="LoadButton" runat="server" Text="Load XML Document" OnClick="LoadButton_Click"></asp:button><br />
      <asp:TextBox id="ResultText" runat="server" Width="380" Height="194px" TextMode="MultiLine"></asp:TextBox><br />
      <asp:Button id="SaveButton" runat="server" Text="Save" OnClick="SaveButton_Click"></asp:Button><br />
      <asp:TextBox id="FilePathText" runat="server" Width="380"></asp:TextBox><br />
      <asp:TextBox id="SaveResultsText" runat="server" TextMode="MultiLine" Height="211px" Width="380px"></asp:TextBox>
    </form>
  </body>
</HTML>

 








Related examples in the same category

1.Read XML from URI (VB)