xml veri yazma, okuma, güncelleme

using System;
using System.Xml;
using System.Data;

public partial class _Default : System.Web.UI.Page
{
    string strVeriYol;
    XmlDocument xdDoc = new XmlDocument();

    protected void Page_Load(object sender, EventArgs e)
    {

        strVeriYol = Server.MapPath("~/veri.xml");
        if (!IsPostBack)
        {

            gvDoldur();

        }
    } 

    protected void gvDoldur()
   
{

        DataSet ds = new DataSet();

        ds.ReadXml(strVeriYol);

        gvListe.DataSource = ds.Tables[0];

        gvListe.DataBind();

    }

    protected void gvListe_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {

        string strKod = ((Label)gvListe.Rows[e.RowIndex].Cells[0].FindControl("lblKod")).Text;

        xdDoc.Load(strVeriYol);

        XmlNode xnDuzenle = xdDoc.SelectSingleNode("/urunler/urun[kod='" + strKod + "']");

        xnDuzenle.ParentNode.RemoveChild(xnDuzenle);

        xdDoc.Save(strVeriYol);

        gvListe.EditIndex = -1;

        gvDoldur();

    }

    protected void gvListe_RowEditing(object sender, GridViewEditEventArgs e)
    {
        gvListe.EditIndex = e.NewEditIndex;
        gvDoldur();
    }

    protected void gvListe_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

    {

        gvListe.EditIndex = -1;

        gvDoldur();

    }

    protected void gvListe_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {

        string strKod = ((TextBox)gvListe.Rows[e.RowIndex].Cells[0].FindControl("txtKod")).Text;

        string strAd = ((TextBox)gvListe.Rows[e.RowIndex].Cells[1].FindControl("txtAd")).Text;

        string strFiyat = ((TextBox)gvListe.Rows[e.RowIndex].Cells[2].FindControl("txtFiyat")).Text;

        string strParaBirimi = ((TextBox)gvListe.Rows[e.RowIndex].Cells[3].FindControl("txtParaBirimi")).Text;

        xdDoc.Load(strVeriYol);

        XmlNode xnDuzenle = xdDoc.SelectSingleNode("/urunler/urun[kod='"+strKod+"']");

        if (xnDuzenle != null)
        {

            xnDuzenle["kod"].InnerText = strKod;

            xnDuzenle["ad"].InnerText = strAd;

            xnDuzenle["fiyat"].InnerText = strFiyat;

            xnDuzenle["parabirimi"].InnerText = strParaBirimi;

            xdDoc.Save(strVeriYol);
        }

        gvListe.EditIndex = -1;

        gvDoldur();

    }

    protected void btnEkle_Click(object sender, EventArgs e)
    {

        xdDoc.Load(strVeriYol);

        XmlElement xeYeni = xdDoc.CreateElement("urun");

        xeYeni.InnerXml = "<kod>" + txtKod.Text + "</kod><ad>" + txtAd.Text + "</ad><fiyat>" + txtFiyat.Text + "</fiyat><parabirimi>" + txtParaBirimi.Text + "</parabirimi>";

        xdDoc.DocumentElement.AppendChild(xeYeni);

        xdDoc.Save(strVeriYol);

        Response.Redirect("default.aspx");
    }
}