Mega Code Archive

 
Categories / C# / XML LINQ
 

Query XML with Descendants

using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.Linq; using System.Reflection; using System.Xml.Linq; class Program {     static void Main(string[] args) {         XElement xml = XElement.Load("Employee.xml");         var query = from p in xml.Descendants("person")                     join s in xml.Descendants("id")                     on (int)p.Element("id") equals (int)s.Attribute("id")                     select new {                         FirstName = p.Element("firstname").Value,                         LastName = p.Element("lastname").Value,                         Amount = s.Attribute("salaryyear").Value                     };         foreach (var record in query) {             Console.WriteLine("Employee: {0} {1}, Salary {2}", record.FirstName,                                                             record.LastName,                                                             record.Amount);         }     } }