In this post, we will read data from the XML file using LINQ to XML, sort it by an element and then load it into a Dictionary.
If you are new to LINQ to XML, check my article LINQ To XML Tutorials with Examples
The sample XML file looks like this:
Let
us see how to read this XML file and list the customer names
alphabetically. Add a reference to System.XML.Linq in your console
application and use this code
static void Main(string[] args) { XElement xelement = XElement.Load("..\\..\\Customers.xml"); var dict = (from element in xelement.Descendants("Customer") let name = (string)element.Attribute("Name") orderby name select new { CustID = element.Attribute("CustId").Value, CustName = name }) .ToDictionary(c => c.CustID, c => c.CustName); foreach (var item in dict) { Console.WriteLine(item.Value); } Console.ReadLine(); }
As shown above, we first sort the list by Customer Name and then use the .toDictionary() to create a Dictionary<(Of <(TKey, TValue>)>). We then loop through the Dictionary and print the sorted names.
OUTPUT
No comments:
Post a Comment