Mega Code Archive

 
Categories / ASP.Net / XML
 

Finding a Particular Node in an XML Document (VB)

<%@ Page language="vb" AutoEventWireup="true" %> <%@ Import Namespace="System.Data" %> <script language="vb" runat="server"> Protected xmlSource As New System.Xml.XmlDocument()      Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)      Dim xmlDocStream As System.IO.Stream = GetXmlDoc(XmlSourceTextBox.Text)     If Not (xmlDocStream Is Nothing) Then     xmlSource.Load(xmlDocStream)     ResultText.Text = xmlSource.InnerXml     Else     ResultText.Text = "Could not resolve the XML document."     End If End Sub Public Shared Function GetXmlDoc(ByVal xmlsource As String) As System.IO.Stream     Dim stream As System.IO.Stream = Nothing     If xmlsource.StartsWith("<?xml") Or xmlsource.StartsWith("<schema") Then     stream = New System.IO.MemoryStream(System.Text.ASCIIEncoding.ASCII.GetBytes(xmlsource))     Else     Try       Dim xmluri As New System.Uri(xmlsource)       If xmluri.IsFile Then           stream = New System.IO.FileStream(xmlsource, System.IO.FileMode.Open)       Else           Dim request As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(xmluri), System.Net.HttpWebRequest)           Dim response As System.Net.WebResponse = request.GetResponse()           stream = response.GetResponseStream()       End If     Catch e As Exception     End Try 'not a valid uri     End If     Return stream End Function Private Sub QueryButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)      Dim s as new System.Text.StringBuilder()          If xmlSource Is Nothing Or xmlSource.InnerText = "" Then     xmlSource.LoadXml(ResultText.Text)     End If     Try     Dim nl As System.Xml.XmlNodeList = xmlSource.SelectNodes(XPathText.Text)     Dim counter As Integer = 1     Dim node As System.Xml.XmlNode     For Each node In nl       s.Append(Convert.ToString(counter) + "]" + node.InnerText + System.Environment.NewLine)                  counter += 1     Next node     QueryResult.Text=s.ToString()     Catch selectNodesError As Exception       QueryResult.Text = selectNodesError.ToString()     End Try End Sub </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>