Search This Blog

Tuesday, January 17, 2012

XML Edit update delete

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Xml;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            fill();
    }

    protected void btnadd_Click(object sender, EventArgs e)
    {
        if (!File.Exists(Server.MapPath("studentdetail.xml")))
        {
            writefile();
        }
        else
        {
            append();
        }
    }

    public void writefile()
    {
        string path = Server.MapPath("studentdetail.xml");

        XmlTextWriter ob = new XmlTextWriter(path, null);

        ob.WriteStartDocument();
        ob.WriteStartElement("Dataset");
        ob.WriteStartElement("Items");

        ob.WriteElementString("ID", txtid.Text);
        ob.WriteElementString("FirstName", txtfname.Text);
        ob.WriteElementString("LastName", txtlname.Text);

        ob.WriteEndElement();
        ob.WriteEndElement();
        ob.WriteEndDocument();

        ob.Close();

        clearform();
        fill();
    }

    public void fill()
    {
        DataSet ds = new DataSet();

        ds.ReadXml(Server.MapPath("studentdetail.xml"));
        GridView1.DataSource = ds;
        GridView1.DataBind();
    }

    public void clearform()
    {
        txtid.Text = "";
        txtfname.Text = "";
        txtlname.Text = "";
    }

    public void append()
    {
        XmlDocument xdoc = new XmlDocument();
        xdoc.Load(Server.MapPath("studentdetail.xml"));

        XmlElement Items = xdoc.CreateElement("Items");

        XmlElement ID = xdoc.CreateElement("ID");
        XmlText xid = xdoc.CreateTextNode(txtid.Text);

        XmlElement FirstName = xdoc.CreateElement("FirstName");
        XmlText xfname = xdoc.CreateTextNode(txtfname.Text);

        XmlElement LastName = xdoc.CreateElement("LastName");
        XmlText xlname = xdoc.CreateTextNode(txtlname.Text);

        ID.AppendChild(xid);
        FirstName.AppendChild(xfname);
        LastName.AppendChild(xlname);

        Items.AppendChild(ID);
        Items.AppendChild(FirstName);
        Items.AppendChild(LastName);

        xdoc.DocumentElement.AppendChild(Items);
        xdoc.Save(Server.MapPath("studentdetail.xml"));

        fill();
        clearform();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        fill();
    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        XmlDocument xdoc = new XmlDocument();
        xdoc.Load(Server.MapPath("studentdetail.xml"));

        XmlNodeList n = xdoc.SelectNodes("/Dataset/Items");

        string id = (string)GridView1.Rows[e.RowIndex].Cells[2].Text;

        foreach (XmlNode node in n)
        {
            if (node.ChildNodes[0].InnerText == id)
            {
                node.ParentNode.RemoveChild(node);
            }
        }
        xdoc.Save(Server.MapPath("studentdetail.xml"));
        fill();
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        int id = int.Parse(e.NewEditIndex.ToString());

        ViewState["ID"] = (GridView1.Rows[id].Cells[2].Text.ToString());

        GridView1.EditIndex = e.NewEditIndex;
        fill();
    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        XmlDocument xdoc = new XmlDocument();
        xdoc.Load(Server.MapPath("studentdetail.xml"));

        XmlNodeList n = xdoc.SelectNodes("/Dataset/Items");

        TextBox id = (TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0];
        TextBox FirstName = (TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0];
        TextBox LastName = (TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0];

        foreach (XmlNode node in n)
        {
            if (node.ChildNodes[0].InnerText == ViewState["ID"].ToString())
            {
                n.Item(0).ChildNodes[0].InnerText = id.Text;
                n.Item(0).ChildNodes[1].InnerText = FirstName.Text;
                n.Item(0).ChildNodes[2].InnerText = LastName.Text;
            }
        }
        xdoc.Save(Server.MapPath("studentdetail.xml"));
        GridView1.EditIndex = -1;
        fill();
    }
}

1 comment:

  1. Learn Latest Technologies like XML with ASP.NET @ Vadodara.
    Visit : www.vataliyatuitionclasses.com

    ReplyDelete