using System.Collections;
using System.Collections.Generic;
using System.Globalization;
public static void Main(string[] args)
string s = @"<eveapi version=""2""><currentTime>2016-02-01 22:48:26</currentTime><result><rowset name=""transactions"" key=""transactionID"" columns=""transactionDateTime,transactionID,quantity,typeName,typeID,price,clientID,clientName,stationID,stationName,transactionType,transactionFor,journalTransactionID,clientTypeID""><row transactionDateTime=""2016-01-31 23:10:57"" transactionID=""4212499228"" quantity=""12"" typeName=""Spodumain Mining Crystal II"" typeID=""18624"" price=""900000.00"" clientID=""94420021"" clientName=""Gayle Rowen"" stationID=""??????"" stationName=""??????"" transactionType=""buy"" transactionFor=""personal"" journalTransactionID=""12205145551"" clientTypeID=""1373""/></rowset></result><cachedUntil>2016-02-01 23:15:21</cachedUntil></eveapi>";
XDocument doc = XDocument.Parse(s);
var output = doc.Descendants("row")
.Where(e=>e.Attribute("transactionDateTime").Value == "2016-01-31 23:10:57")
price = e.Attribute("price").Value,
quantity = e.Attribute("quantity").Value,
Date = e.Attribute("transactionDateTime").Value
var latestnode = doc.Descendants("row")
.OrderByDescending(e=> DateTime.ParseExact(e.Attribute("transactionDateTime").Value,"yyyy-MM-dd HH:mm:ss",CultureInfo.InvariantCulture ))
price = e.Attribute("price").Value,
quantity = e.Attribute("quantity").Value,
Date = e.Attribute("transactionDateTime").Value
Console.WriteLine("Quality {0}- Price {1} - Date {2}", o.quantity, o.price, o.Date);
Console.WriteLine("Quality {0}- Price {1} - Date {2}", latestnode.quantity, latestnode.price, latestnode.Date);