This article explains how to do insert, update and delete operations in a XML file using C#.

Use the following procedure to create a sample of doing that in XML using C#.

Step 1: Create a solution.

Create a solution

Step 2: Add a web application.
Add a web application

Step 3: Right-click the web application and add the XML file. The solution will be as shown below:
xml file

Step 4: Open the XML file and the fields as below:

<?xml version="1.0" standalone="yes"?>

<Employees>

<Employee>

<ID>101</ID>

<Name>Abhay</Name>

<Designation>Senior Software Engineer</Designation>

<EmailID>[email protected]</EmailID>

<City>Pune</City>

<Country>India</Country>

<Technology>.Net</Technology>

</Employee>

</Employees>

Step 5: Go to the .aspx page and design the form as below:

design the form

Step 6: Go to the .aspx.cs page and write the code for the add, update and delete in XML.

To add the record write the code as:

XmlDocument xmlEmloyeeDoc = new XmlDocument();

xmlEmloyeeDoc.Load(Server.MapPath("~/Employees.xml"));

XmlElement ParentElement = xmlEmloyeeDoc.CreateElement("Employee");

XmlElement ID = xmlEmloyeeDoc.CreateElement("ID");

ID.InnerText = txtID.Text;

XmlElement Name = xmlEmloyeeDoc.CreateElement("Name");

Name.InnerText = txtName.Text;

XmlElement Designation = xmlEmloyeeDoc.CreateElement("Designation");

Designation.InnerText = txtDesignation.Text;

XmlElement EmailID = xmlEmloyeeDoc.CreateElement("EmailID");

EmailID.InnerText = txtEmailID.Text;

XmlElement City = xmlEmloyeeDoc.CreateElement("City");

City.InnerText = txtCity.Text;

XmlElement Country = xmlEmloyeeDoc.CreateElement("Country");

Country.InnerText = txtCountry.Text;

XmlElement Technology = xmlEmloyeeDoc.CreateElement("Technology");

Technology.InnerText = txtTechnology.Text;

ParentElement.AppendChild(ID);

ParentElement.AppendChild(Name);

ParentElement.AppendChild(Designation);

ParentElement.AppendChild(EmailID);

ParentElement.AppendChild(City);

ParentElement.AppendChild(Country);

ParentElement.AppendChild(Technology);

xmlEmloyeeDoc.DocumentElement.AppendChild(ParentElement);

xmlEmloyeeDoc.Save(Server.MapPath("~/Employees.xml"));

BindGrid();

To update the record write the code as:

DataSet ds = new DataSet();

ds.ReadXml(Server.MapPath("~/Employees.xml"));

int xmlRow = Convert.ToInt32(Convert.ToString(ViewState["gridrow"]));

ds.Tables[0].Rows[xmlRow]["Name"] = txtName.Text;

ds.Tables[0].Rows[xmlRow]["Designation"] = txtDesignation.Text;

ds.Tables[0].Rows[xmlRow]["EmailID"] = txtEmailID.Text;
ds.Tables[0].Rows[xmlRow]["City"] = txtCity.Text;
ds.Tables[0].Rows[xmlRow]["Country"] = txtCountry.Text;
ds.Tables[0].Rows[xmlRow]["Technology"] = txtTechnology.Text;
ds.WriteXml(Server.MapPath("~/Employees.xml"));
BindGrid();

To delete the record write the code as:

DataSet ds = new DataSet();

ds.ReadXml(Server.MapPath("~/Employees.xml"));

ds.Tables[0].Rows.RemoveAt(e.RowIndex);

ds.WriteXml(Server.MapPath("~/Employees.xml"));

BindGrid();

For binding the Grid:

DataSet ds = new DataSet();

ds.ReadXml(Server.MapPath("~/Employees.xml"));

if (ds != null && ds.HasChanges())

{

grdxml.DataSource = ds;

grdxml.DataBind();

}

else

{

grdxml.DataBind();

}