Thursday, April 23, 2015

Read XML File & Bind Data to Gridview in Asp.net using C#, VB.NET

Introduction:
Here I will explain how to read xml file and bind xml data to gridview in asp.net using c#, vb.net or read and bind data to gridview from xml file in asp.net using c#, vb.net.

In one situation I got requirement like read data from xml file and display it on webpage. My XML File Name as “Sample.xml” and that would contains data like this


xml version="1.0" encoding="utf-8" ?>
<users>
  <user>
    <FirstName>Asma </FirstName>
    <LastName>Quresnii</LastName>
    <UserName>Asmaqureshi</UserName>
    <Job>Project Manager</Job>
  </user>
  <user>
    <FirstName>Asad</FirstName>
    <LastName>Ali</LastName>
    <UserName>AsadAli</UserName>
    <Job>Software Developer</Job>
  </user>
  <user>
    <FirstName>Farhan</FirstName>
    <LastName>Faheem</LastName>
    <UserName>FarhanFaheem</UserName>
    <Job>Business Analyst</Job>
  </user>

Now I need to get values from this xml file and bind that data to gridview for that write following code in your aspx page like this.


<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Read Data from XML and Bind Data to gridview in asp.net</title>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="gvDetails" runat="server">
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
</asp:GridView>
</form>
</body>
</html>

Add below code in codebehind file
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//Bind Data to Gridview
GetXMLData();
}
}
// This method is used to get xml node values and bind to gridview
protected void GetXMLData()
{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("Sample.xml"));
gvDetails.DataSource = ds;
gvDetails.DataBind();
}

VB.NET Code
Imports System.Web.UI.WebControls
Imports System.Data
Partial Class VBCode
Inherits System.Web.UI.Page
Private attempts As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not IsPostBack Then
'Bind Data to Gridview
GetXMLData()
End If
End Sub
' This method is used to get xml node values and bind to gridview
Protected Sub GetXMLData()
Dim ds As New DataSet()
ds.ReadXml(Server.MapPath("Sample.xml"))
gvDetails.DataSource = ds
gvDetails.DataBind()
End Sub
End Class

Download Sample code from below button. Thank you

No comments:

Post a Comment