How to show xml data in DataGrid?
XMLData.xml
<Students>
<Student>
<Roll>1</Roll>
<Name>Kumar</Name>
</Student>
<Student>
<Roll>2</Roll>
<Name>Harsh</Name>
</Student>
</Students>
Create a class for xml data
public partial class Student
{
public int Roll { get; set; }
public string Name { get; set; }
}
Code To get data from xml file
XmlSerializer serializer = new XmlSerializer(typeof( ObservableCollection<Student>) , newXmlRootAttribute("Students")); //here Student is type and Students is root of xml
using (StreamReader reader = newStreamReader(@"D:\XMLData.xml"))
{
//Deserilize the xml file and assign to collection
LstStudents =(ObservableCollection< Student>)serializer. Deserialize(reader);
};
private ObservableCollection<Student> _lstStudents=new ObservableCollection<Student>( );
public ObservableCollection<Student> LstStudents
{
get { return _lstStudents; }
set {SetProperty(ref _lstStudents , value); }
}
Bind LstStudents to DataGrid
<DataGrid ItemsSource="{Binding LstStudents}"Width="200" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Roll"Binding="{Binding Roll}" />
<DataGridTextColumn Header="Name"Binding="{Binding Name}" />
</DataGrid.Columns>
</DataGrid>
Comments
Post a Comment