How to Bind XML file to Gridview in Asp.net - Free Asp.Net,MVC,AngularJs,Jquery,Javascript,Sql Server,WCF,Entity framework snippets and tutorial

How to Bind XML file to Gridview in Asp.net


Introduction: In this post I will explain how we can bind the XML file to Gridview in Asp.net.
Description:
I have created a XML file named Student_Detail.xml and have data below mention:
<?xml version="1.0" encoding="utf-8" ?>
<Detail>
  <Student>
  <Name>Vijay</Name>
  <Address>Himachal</Address>
  <Marks>600</Marks>
  </Student>
  <Student>
    <Name>Anil</Name>
    <Address>Delhi</Address>
    <Marks>800</Marks>
  </Student>
  <Student>
    <Name>John</Name>
    <Address>Kerla</Address>
    <Marks>900</Marks>
  </Student
</Detail>

Now add a new webform to project. Drag and drop the
Gridview Data control from Toolbox>Data control.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
      <Columns>
                <asp:TemplateField HeaderText="STUDENT NAME">
                                       <ItemTemplate>
                        <asp:Label ID="lblname" runat="server" Text='<%# Eval("NAME") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="STUDENT ADDRESS">
                                       <ItemTemplate>
                        <asp:Label ID="lbladdress" runat="server" Text='<%# Eval("ADDRESS") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="MARKS OBTAINED">
                                       <ItemTemplate>
                        <asp:Label ID="lblclass" runat="server" Text='<%# Eval("Marks") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                           </Columns>
    </asp:GridView>

Now to go .aspx.cs page and add namespace.
using System.Xml;
using System.Data;

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Bindxml();
        }
    }
    private void Bindxml()
    {
        DataSet dt = new DataSet();
        dt.ReadXml(Server.MapPath("Student_Detail.xml"));
        if (dt.Tables[0].Rows.Count > 0)
        {
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
        else
        {
            Response.Write("No Record Found");
        }
    }

In VB

Imports System.Data
Imports System.Xml

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Bindxml()
        End If
    End Sub
    Private Sub Bindxml()
        Dim dt As New DataSet()
        dt.ReadXml(Server.MapPath("Student_Detail.xml"))
        If dt.Tables(0).Rows.Count > 0 Then
            GridView1.DataSource = dt
            GridView1.DataBind()
        Else
            Response.Write("No Record Found")
        End If
    End Sub

Run the project and Check the result.

Related Articles on Gridview:
Ø  How to use RadioButtonList control inside the Gridview inAsp.net                         
Ø  How to Bind Gridview with Datareader in asp.net

Is it helpful?

If yes post your comment to admire my work. You can like me on Facebook, Google+, Linkedin and Twitter via hit on Follow us Button and also can get update follow by Email.

What do you think about this article?

If you found this article useful, please share and follow on Facebook, Twitter, Google Plus and other social media websites. To get free updates subscribe to newsletter. Please put your thoughts and feedback in comments section.

Share this

Share on FacebookTweet on TwitterPlus on Google+


EmoticonEmoticon