Read XML from URI (VB) : URI « Network « ASP.Net






Read XML from URI (VB)


<%@ Page language="vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
  <HEAD>
    <title>Default</title>
    <script 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 'GetXmlDoc

        Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            If xmlSource Is Nothing Or xmlSource.InnerText = "" Then
                xmlSource.LoadXml(ResultText.Text)
            End If
            Try
                Dim path As String = FilePathText.Text.Substring(0, FilePathText.Text.LastIndexOf("\"))
                If System.IO.Directory.Exists(path) Then
                    Try
                        xmlSource.Save(FilePathText.Text)
                        SaveResultsText.Text = FilePathText.Text + " was saved successfully."
                    Catch saveErr As Exception
                        SaveResultsText.Text = saveErr.ToString()
                    End Try
                Else
                    SaveResultsText.Text = "Directory Doesnt Exist, Try a different path."
                    FilePathText.Text = ""
                End If

            Catch saveError As Exception
                SaveResultsText.Text = saveError.ToString()
            End Try
        End Sub


    </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 data from URI