Mega Code Archive

 
Categories / ASP.Net / XML
 

Finding a Particular Node in an XML Document

<%@ Page language="c#" AutoEventWireup="true" %> <%@ Import Namespace="System.Data" %> <script language="C#" 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 QueryButton_Click(object sender, System.EventArgs e)  {     System.Text.StringBuilder s = new System.Text.StringBuilder();     if(xmlSource==null || xmlSource.InnerText=="") xmlSource.LoadXml(ResultText.Text);     try      {     System.Xml.XmlNodeList nl = xmlSource.SelectNodes(XPathText.Text);     int counter=1;     foreach(System.Xml.XmlNode node in nl)      {       s.Append(counter + "]" + node.InnerText + System.Environment.NewLine);       counter++;     }     QueryResult.Text=s.ToString();     }     catch(Exception selectNodesError)      {     QueryResult.Text=selectNodesError.ToString();     } } </script> <HTML>   <HEAD>     <title>Finding a Particular Node in an XML Document</title>   </HEAD>   <body>     <form id="Form1" method="post" runat="server">       <asp:textbox id="XmlSourceTextBox" runat="server" Width="379px" 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="379px" Height="194px" TextMode="MultiLine"></asp:TextBox><br/>       <asp:Button id="QueryButton" runat="server" Text="Query" OnClick="QueryButton_Click"></asp:Button><br/>       <asp:TextBox id="XPathText" runat="server" Width="379px"></asp:TextBox><br/>       <asp:TextBox id="QueryResult" runat="server" TextMode="MultiLine" Height="229px" Width="379"></asp:TextBox>     </form>   </body> </HTML>