Convert-List-to-XML

Convert List to XML in C#

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:

Convert-List-to-XML

Leave a Reply