Load XML File Into a DataGridView Using C#

How to Load an XML File into a DataGridView

In ADO.NET, the DataSet class implements methods and properties to work with XML documents, including reading XML, loading it into a DataSet and writing a DataSet back to an XML file. 

The ReadXml method reads an XML file and loads it into a DataSet. ReadXml is an overloaded method; you can use it to read a data stream, TextReader, XmlReader, or an XML file and store the data into a DataSet object, that can later be used to display the data in a tabular format. 

The following code snippet loads a Books.xml file into a DataSet. Here the file C:\Books\Books.xml" is the XML file that you want to display in a DataGridView control. 

DataSet dataSet = new DataSet();
dataSet.ReadXml(@"C:\Books\Books.xml");

The following code snippet binds the default DataTable with a DataGridView control. 

dataGridView1.DataSource = dataSet.Tables[0];

NOTE:  Make sure you add a reference to the System.Data namespace before using DataSet in your code.

Sample

  • Download the attached file and copy it to your local machine in some folder and change the full path of the XML file passed in the ReadXml method. 
  • Create a Windows Forms application.
  • Add a DataGridView Control to the Form.
  • Add a Button control, double-click on it and add the following code to the button click event handler. 
DataSet dataSet = new DataSet();
dataSet.ReadXml(@"C:\Books\Books.xml");
dataGridView1.DataSource = dataSet.Tables[0];

The output will be a DataGridView displaying the contents of an XML file. 

LoadXmlInDataSet.png