Xml:
Extensible Markup Language (XML) is used to describe data. The XML standard is a
flexible way to create information formats and electronically share structured
data via the public Internet, as well as via corporate networks. XML is actually a simpler and easier-to-use
subset of the Standard Generalized Markup
Language (SGML), which is the standard to create a document
structure.
What is XML?
- XML stands for Extensible Markup Language
- XML is a markup language much like
HTML.
- XML was designed to describe data.
- XML tags are not predefined
in XML. You must define your
own tags.
- XML is self describing.
- XML uses a DTD (Document Type Definition) to
formally describe the data.
Difference between XML and HTML
1. HTML is about displaying information, XML is about describing information.
2. XML is not a replacement for HTML.
3. XML and HTML were designed with different goals:
4. XML was designed to describe data and to focus on what data is.
5. HTML was designed to display data and to focus on how data looks.
How to save, delete,
update, select data from Xml in Asp.Net C#
First we
will create website and add Employees.xml file
Sources Code for Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.auto-style1 {
width: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table class="auto-style1">
<tr>
<td colspan="2"><b><i><u>How to
save,delete,update ,select data
from Xml in Asp.Net C#</u></i></b></td>
</tr>
<tr>
<td>EmpId</td>
<td>
<asp:TextBox ID="txtempid" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>Name</td>
<td>
<asp:TextBox ID="txtname" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>Gender</td>
<td>
<asp:RadioButtonList ID="rblGender" runat="server" RepeatDirection="Horizontal">
<asp:ListItem>Male</asp:ListItem>
<asp:ListItem>Female</asp:ListItem>
</asp:RadioButtonList>
</td>
</tr>
<tr>
<td>EmailId</td>
<td>
<asp:TextBox ID="txtemailid" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>Department</td>
<td>
<asp:DropDownList ID="ddlDepartment" runat="server">
<asp:ListItem>Select</asp:ListItem>
<asp:ListItem>Admin</asp:ListItem>
<asp:ListItem>Account</asp:ListItem>
<asp:ListItem>CS IT</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td> </td>
<td>
<asp:Button ID="btnsave" runat="server" OnClick="btnsave_Click" Text="Save" />
<asp:Button ID="btnsearch" runat="server" OnClick="btnsearch_Click" Text="Search" />
<asp:Button ID="btnUpdate" runat="server" OnClick="btnUpdate_Click" Text="Update" />
<asp:Button ID="btnDelete" runat="server" OnClick="btnDelete_Click" Text="Delete" />
<asp:Button ID="btnCheck" runat="server" OnClick="btnCheck_Click" Text="Check" />
<asp:Button ID="btnAllData" runat="server" OnClick="btnAllData_Click" Text="ShowAllData" />
<asp:Button ID="btnRemoveAll" runat="server" OnClick="btnRemoveAll_Click" Text="Remove
All"
/>
</td>
</tr>
<tr>
<td colspan="2">
<center><asp:Label ID="lblmessage" runat="server" Text="Label" Visible="false"></asp:Label></center>
</td>
</tr>
<tr>
<td colspan="2">
<center>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView></center>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
Sources Code for Default.aspx.cs
using System;
using
System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using
System.Web.UI.WebControls;
using System.Xml;
// using this name sapce
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
//
create class Employee................
class Employee
{
public int EmpId { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
public string Email { get; set; }
public string Department { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
}
int empid;
XDocument document = XDocument.Load(@"C:\Users\user\Desktop\XmlWithAsp\Data\Employees.xml");
//
code for How to save data in Employee.xml
file..................
protected void btnsave_Click(object sender, EventArgs e)
{
try
{
document.Element("Employees").Add(
new XElement("Employee",
new XElement("EmpId", Convert.ToInt32(txtempid.Text)),
new XElement("Name", txtname.Text),
new XElement("Gender",
rblGender.SelectedValue),
new XElement("Email", txtemailid.Text),
new XElement("Department",
ddlDepartment.SelectedItem.Text)
));
document.Save(Server.MapPath("~/Data/Employees.xml"));
//document.Save(@"C:\Users\user\Desktop\XmlWithAsp\Data\Employees.xml");
document.Save(@"C:\Users\user\Desktop\XmlWithAsp\Data\Employees.xml");
lblmessage.Visible = true;
lblmessage.ForeColor = Color.Green;
lblmessage.Text = "Save
Successfully";
}
catch (Exception ex)
{
lblmessage.Visible = true;
lblmessage.ForeColor = Color.Green;
lblmessage.Text = ex.Message;
}
}
//
code for How to search data from Employee.xml file with
EmpId..................
protected void btnsearch_Click(object sender, EventArgs e)
{
empid = Convert.ToInt32(txtempid.Text);
var query = from r in
document.Descendants("Employee")
where (int)r.Element("EmpId") == empid
select new
{
Name = r.Element("Name").Value,
Gender = r.Element("Gender").Value,
Email = r.Element("Email").Value,
Department = r.Element("Department").Value
};
foreach (var item in query)
{
txtname.Text = item.Name;
txtemailid.Text = item.Email;
rblGender.SelectedValue =
item.Gender;
ddlDepartment.SelectedValue =
item.Department;
}
//GridView1.DataSource =
query;
//GridView1.DataBind();
}
protected void btnCheck_Click(object sender, EventArgs e)
{
string email = (from r in
document.Descendants("Employee")
where (string)r.Element("Name") == txtname.Text
select r.Element("Email").Value).Single();
// output---- EmailId for example Kush Tiwari=>
kushktiwari@gmail.com
// string email =
document.Descendants("Employee").Where(i =>
i.Element("Name").Value == "Kush").Select(i =>
i.Element("Email").Value).Single();
Response.Write(email);
bool IsExist =
document.Descendants("Employee").Where(i => i.Element("Name").Value ==
txtname.Text).Select(i => i).Any();
Response.Write(IsExist.ToString());
// output---- Name will be
exit in xml file it will return true other wise false...........
}
// code for How to
show all data from Employee.xml file..................
protected void btnAllData_Click(object sender, EventArgs e)
{
//DataSet ds = new DataSet();
//ds.ReadXml(Server.MapPath("~/Data/Employees.xml"));
//GridView1.DataSource = ds;
//GridView1.DataBind();
var query = from r in
document.Descendants("Employee")
select new
{
EmpId = r.Element("EmpId").Value,
Name = r.Element("Name").Value,
Gender = r.Element("Gender").Value,
Email = r.Element("Email").Value,
Department = r.Element("Department").Value
};
GridView1.DataSource =
query.ToList();
GridView1.DataBind();
}
//
code for How to delete data in
Employee.xml file with
EmpId.............
protected void btnDelete_Click(object sender, EventArgs e)
{
document.Element("Employees").Elements("Employee").Where(i =>
i.Element("EmpId").Value
== txtempid.Text).Remove();
document.Save(Server.MapPath("~/Data/Employees.xml"));
lblmessage.Visible = true;
lblmessage.ForeColor = Color.Green;
lblmessage.Text = "Deleted
Successfully";
}
//
code for How to update data in
Employee.xml file with EmpId..................
protected void btnUpdate_Click(object sender, EventArgs e)
{
XElement element =
document.Descendants("Employee").Where(m => m.Element("EmpId").Value ==
txtempid.Text.Trim()).Single();
element.SetElementValue("Name", txtname.Text);
element.SetElementValue("Gender",
rblGender.SelectedValue);
element.SetElementValue("Email",
txtemailid.Text.Trim());
element.SetElementValue("Department", ddlDepartment.SelectedItem.Text);
document.Save(@"C:\Users\user\Desktop\XmlWithAsp\Data\Employees.xml");
lblmessage.Visible = true;
lblmessage.ForeColor = Color.Green;
lblmessage.Text = "Data updated
Successfully";
}
//
code for How to remove all data from Employee.xml file..................
protected void btnRemoveAll_Click(object sender, EventArgs e)
{
document.Element("Employees").Elements("Employee").Remove();
document.Save(Server.MapPath("~/Data/Employees.xml"));
lblmessage.Visible = true;
lblmessage.ForeColor = Color.Green;
lblmessage.Text = "Remove All
Data Successfully";
}
}