XML ASP.Net

<%@ Page language="vb" %>
<%@ Import Namespace="System.Data" %>

Dim xmlPath As String
Dim cat As catalog
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
  xmlPath = Server.MapPath("cdcatalog.xml")
  If cat Is Nothing Then
    cat = LoadData(xmlPath)
    Dim cd As catalogCD
    For Each cd In cat.Items
      titleDropDownList.Items.Add(New System.Web.UI.WebControls.ListItem(cd.title))
    Next cd
  End If
End Sub
Private Function LoadData(ByVal path As String) As catalog
  Try
    Dim fs As System.IO.FileStream = System.IO.File.OpenRead(path)
    Dim buff(fs.Length) As Byte
    fs.Read(buff, 0, CInt(fs.Length))
    fs.Close()
    cat = CType(Serialization.DeSerializeXML(System.Text.ASCIIEncoding.ASCII.GetString(buff), GetType(catalog)), catalog)
    Return cat
  Catch
  End Try
End Function  'LoadData
Private Sub titleDropDownList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
  Dim findvalue As String = titleDropDownList.SelectedItem.Text
  Dim cd As catalogCD
  For Each cd In cat.Items
    If cd.title = findvalue Then
      artistTextBox.Text = cd.artist
      countryTextBox.Text = cd.country
      companyTextBox.Text = cd.company
      priceTextBox.Text = cd.price
      yearTextBox.Text = cd.year
      Exit For
    End If
  Next cd
End Sub
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  Dim findvalue As String = titleDropDownList.SelectedItem.Text
  Dim foundcd As catalogCD = Nothing
  Dim cd As catalogCD
  For Each cd In cat.Items
    If cd.title = findvalue Then
      foundcd = cd
      Exit For
    End If
  Next cd
  If Not (foundcd Is Nothing) Then
    foundcd.artist = artistTextBox.Text
    foundcd.country = countryTextBox.Text
    foundcd.company = companyTextBox.Text
    foundcd.price = priceTextBox.Text
    foundcd.year = yearTextBox.Text
    Dim data As System.IO.MemoryStream = Serialization.SerializeXML(cat, GetType(catalog))
    Dim databytes As Byte() = data.ToArray()
    If System.IO.File.Exists(xmlPath) Then
      System.IO.File.Delete(xmlPath)
    End If
    Dim f As System.IO.FileStream = System.IO.File.OpenWrite(xmlPath)
    f.Write(databytes, 0, databytes.Length)
    f.Close()
  End If
End Sub
Public Class Serialization
  Public Shared Function SerializeXML(ByVal request As Object, ByVal type As System.Type) As System.IO.MemoryStream
    Try
      Dim serializer As New System.Xml.Serialization.XmlSerializer(type)
      Dim stm As New System.IO.MemoryStream()
      serializer.Serialize(stm, request)
      Return stm
    Catch e As Exception
      Return Nothing
    End Try
  End Function    'SerializeXML
  Public Shared Function DeSerializeXML(ByVal envelope As String, ByVal type As System.Type) As Object
    Try
      Dim serializer As New System.Xml.Serialization.XmlSerializer(type)
      Dim stm As New System.IO.MemoryStream(System.Text.Encoding.ASCII.GetBytes(envelope))
      Dim ud As Object = serializer.Deserialize(stm)
      stm.Close()
      Return ud
    Catch e As Exception
      Return Nothing
    End Try
  End Function    'DeSerializeXML
End Class  'Serialization
 _
Public Class catalog
   _
  Public Items() As catalogCD
End Class
Public Class catalogCD
  Public title As String
  Public artist As String
  Public country As String
  Public company As String
  Public price As String
  Public year As String
End Class


  
    Creating a Class from an XML Document
  
  
    
      


        Title:
                OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">


      


        Artist:
        


      


        Country:
        


      


        Company:
        


      


        Price:
        


      


        Year: