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);
}
}
}