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