Convert List to XML in C#
Hello folks, today I am going to explain how could we convert List to XML in C# using LINQ. Let’s take one example and try to understand whole concept.
In below example we have List of Employee class and has been converted into XML. I have used LINQ to generate XML Element and these elements would be saved as XML on local system.
using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; namespace ListToXML { class Program { static void Main(string[] args) { List<Employee> empList = new List<Employee>(); empList.Add(new Employee() { ID = 1, FName = "F1", LName = "L1", DOB = DateTime.Parse("12/11/1971"), Sex = 'M' }); empList.Add(new Employee() { ID = 2, FName = "F2", LName = "L2", DOB = DateTime.Parse("01/17/1961"), Sex = 'F' }); empList.Add(new Employee() { ID = 3, FName = "F3", LName = "L3", DOB = DateTime.Parse("12/23/1971"), Sex = 'M' }); empList.Add(new Employee() { ID = 4, FName = "F4", LName = "L4", DOB = DateTime.Parse("11/15/1976"), Sex = 'F' }); empList.Add(new Employee() { ID = 5, FName = "F5", LName = "L5", DOB = DateTime.Parse("05/11/1978"), Sex = 'F' }); empList.Add(new Employee() { ID = 6, FName = "F6", LName = "L6", DOB = DateTime.Parse("03/7/1965"), Sex = 'F' }); empList.Add(new Employee() { ID = 7, FName = "F7", LName = "L7", DOB = DateTime.Parse("09/11/1972"), Sex = 'M' }); empList.Add(new Employee() { ID = 8, FName = "F8", LName = "L8", DOB = DateTime.Parse("12/11/1972"), Sex = 'F' }); empList.Add(new Employee() { ID = 9, FName = "F9", LName = "L9", DOB = DateTime.Parse("06/28/1964"), Sex = 'M' }); empList.Add(new Employee() { ID = 10, FName = "F10", LName = "L10", DOB = DateTime.Parse("01/11/1978"), Sex = 'M' }); try { var xEle = new XElement("Employees", from emp in empList select new XElement("Employee", new XAttribute("ID", emp.ID), new XElement("FName", emp.FName), new XElement("LName", emp.LName), new XElement("DOB", emp.DOB), new XElement("Sex", emp.Sex) )); xEle.Save("D:\\employees.xml"); Console.WriteLine("Converted to XML"); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadLine(); } } class Employee { public int ID { get; set; } public string FName { get; set; } public string LName { get; set; } public DateTime DOB { get; set; } public char Sex { get; set; } } }
Output of XML file: