XML ASP.Net

<%@ Import Namespace="System.Runtime.Serialization" %>
<%@ Import Namespace="System.Xml.Serialization" %>
<%@ Import Namespace="System.Data" %>
<%@ Page language="c#" %>

private catalog Catalog;
private string xmlPath;
private void Page_Load(object sender, System.EventArgs e) {
  xmlPath = Server.MapPath("cdcatalog.xml");
  if(Catalog==null) {
    Catalog = LoadData(xmlPath);
    foreach(catalogCD cd in Catalog.Items) {
      titleDropDownList.Items.Add(new System.Web.UI.WebControls.ListItem(cd.title));
    }
  }
}
private catalog LoadData(string path) {
  try {
    System.IO.FileStream fs = System.IO.File.OpenRead(path);
    byte[] buff = new byte[fs.Length];
    fs.Read(buff, 0, (int)fs.Length);
    fs.Close();
    Catalog = (catalog)Serialization.DeSerializeXML(System.Text.ASCIIEncoding.ASCII.GetString(buff), typeof(catalog));
    return Catalog;
  } catch(Exception) {
    return null;
  }
}
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e) {
  string findvalue = titleDropDownList.SelectedItem.Text;
  foreach(catalogCD cd in Catalog.Items) {
    if(cd.title==findvalue) {
      artistTextBox.Text=cd.artist;
      countryTextBox.Text=cd.country;
      companyTextBox.Text=cd.company;
      priceTextBox.Text=cd.price;
      yearTextBox.Text=cd.year;
      break;
    }
  }    
}
private void SaveButton_Click(object sender, System.EventArgs e) {
  string findvalue = titleDropDownList.SelectedItem.Text;
  catalogCD foundcd=null;
  foreach(catalogCD cd in Catalog.Items) {
    if(cd.title==findvalue) {
      foundcd=cd;
      break;
    }
  }
  if(foundcd!=null) {
    foundcd.artist=artistTextBox.Text;
    foundcd.country=countryTextBox.Text;
    foundcd.company=companyTextBox.Text;
    foundcd.price=priceTextBox.Text;
    foundcd.year=yearTextBox.Text;
    System.IO.MemoryStream data = Serialization.SerializeXML(Catalog, typeof(catalog));
    byte[] databytes = data.ToArray();
    if(System.IO.File.Exists(xmlPath)) System.IO.File.Delete(xmlPath);
    System.IO.FileStream f = System.IO.File.OpenWrite(xmlPath);
    f.Write(databytes, 0, databytes.Length);
    f.Close();
  }
}
[System.Xml.Serialization.XmlRootAttribute("catalog", Namespace="", IsNullable=false)]
public class catalog {    
    [System.Xml.Serialization.XmlElementAttribute("cd")]
    public catalogCD[] Items;
}
public class catalogCD {
    public string title;    
    public string artist;    
    public string country;    
    public string company;    
    public string price;    
    public string year;
}
public class Serialization {
  public static System.IO.MemoryStream SerializeXML(object request, System.Type type) {
    try {
      System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(type);        
      System.IO.MemoryStream stm  = new System.IO.MemoryStream();
      serializer.Serialize(stm, request);
      return stm;
    } catch(Exception e){
      return null;
    }
  }
  public static object DeSerializeXML(string envelope, System.Type type) {
    try {
      System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(type);        
      System.IO.MemoryStream stm = new System.IO.MemoryStream(System.Text.Encoding.ASCII.GetBytes(envelope));
      object ud = serializer.Deserialize(stm);
      stm.Close();
      return ud;
    } catch(Exception e){
      return null;
    }
  }
}


  
    Creating a Class from an XML Document
  
  
    
      


        Title:
                OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">


      


        Artist:
        


      


        Country:
        


      


        Company:
        


      


        Price:
        


      


        Year: