<%@ 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>
|