using System.Collections.Generic;
public static void Main()
string xml = @"<?xml version=""1.0""?>
<PurchaseOrder PurchaseOrderNumber=""99503"" OrderDate=""1999-10-20"">
<Address Type=""Shipping"">
<Street>123 Maple Street</Street>
<Address Type=""Billing"">
<Street>8 Oak Avenue</Street>
XDocument xdoc = XDocument.Parse(xml);
(from e in xdoc.Root.Elements("PurchaseOrder")
Number = (string)e.Attribute("PurchaseOrderNumber"),
Date = (string)e.Attribute("OrderDate"),
Shipping = e.Elements("Address").Where(a => (string)a.Attribute("Type") == "Shipping").Select(a => new { Name = (string)a.Element("Name") }).FirstOrDefault(),
Billing = e.Elements("Address").Where(a => (string)a.Attribute("Type") == "Billing").Select(a => new { Name = (string)a.Element("Name") }).FirstOrDefault()
foreach (var e in orders)