Display XML File Data into GridView using DataTable

In this blog we will know how to Display xml file data into GridView using DataTable.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Display_xmlfile_gridview_datatable._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" >


<
head runat="server">
    <title>Untitled Page</title
>

</
head>
<
body>
    <form id="form1" runat
="server">

    <div
>

    <asp:GridView ID="GridView1" runat
="server">

    </asp:GridView
>

    <asp:Button ID="btn_showdata" runat="server" onclick="btn_showdata_Click"

        Text="Show Xml Data"
/>

    </div
>

    </form
>

</
body>
</
html>

.CS Code File

using System;

using System.Collections;
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;

namespace Display_xmlfile_gridview_datatable

{
    public partial class _Default : System.Web.UI.
Page

    {

        protected void btn_showdata_Click(object sender, EventArgs e)

        {

            string Path = Server.MapPath("Data.xml");

            DataTable dt = new DataTable("student");

            dt.Columns.Add("sid", typeof(System.String));

            dt.Columns.Add("sname", typeof(System.String));

            dt.Columns.Add("saddress", typeof(System.String));

            dt.Columns.Add("smarks", typeof(System.String));

            dt.ReadXml(Path);

            GridView1.DataSource = dt;

            GridView1.DataBind();
 

        }

    }
}

Data.xml file

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

<studentdata>

    <student>

        <sid>s001</sid>

        <sname>Raj</sname>

        <saddress>Orissa</saddress>

        <smarks>100</smarks>     

  </student>

</studentdata>