Introduction: In the previous articles i explained How to bind GridView from Xml DataSource in asp.net and How to sort DataSet and bind XML file data to GridView in asp.net. Now In this article i will explain how to read data from XML file and insert that data into DataSet and then bind to
GridView control.
- Create xml file as:
<?xml version="1.0" encoding="utf-8" ?>
<Books>
<Book>
<Title>ASP.NET 4.0</Title>
<Author>Ramanuj</Author>
<Publisher>natraj publication</Publisher>
<Price>800</Price>
</Book>
<Title>C#</Title>
<Author>shiv prasad</Author>
<Publisher>anand publication</Publisher>
<Price>850</Price>
</Book>
<Book>
<Title>Sql Server</Title>
<Author>Yashwant</Author>
<Publisher>daisy publication</Publisher>
<Price>800</Price>
</Book>
</Books>
- Place a GridView control on design page (.aspx)
<asp:GridView ID="grdBooks" runat="server">
</asp:GridView>
C#.Net Code to create XML file and read data and bind to GridView
- In the code behind file(.aspx.cs) write the code as:
protected void
Page_Load(object sender, EventArgs e)
{
readFromXMLShowInGrid();
}
private void
readFromXMLShowInGrid()
{
string myfile = @Server.MapPath("~/books.xml");
DataSet ds = new DataSet();
ds.ReadXml(myfile);
if (ds.Tables[0].Rows.Count > 0)
{
grdBooks.DataSource = ds;
grdBooks.DataBind();
}
else
{
Response.Write("No data to
display");
}
}
VB.Net Code to create XML file and read data and bind to GridView
- In the code behind file(.aspx.vb) write the code as:
Protected Sub Page_Load(sender As Object, e As EventArgs)
readFromXMLShowInGrid()
End Sub
Private Sub readFromXMLShowInGrid()
Dim myfile As String = Server.MapPath("~/books.xml")
Dim ds As New DataSet()
ds.ReadXml(myfile)
If ds.Tables(0).Rows.Count > 0 Then
grdBooks.DataSource = ds
grdBooks.DataBind()
Else
Response.Write("No data to display")
End If
End Sub
If you have any question about any post, Feel free to ask.You can simply drop a comment below post or contact via Contact Us form. Your feedback and suggestions will be highly appreciated. Also try to leave comments from your account not from the anonymous account so that i can respond to you easily..