Alternatively you can create a dictionary:
var result = xDoc.Descendants("DataItem").ToDictionary(e => e.Attribute("name").Value, e => e.Value);
foreach (var key in result.Keys)
{
Console.WriteLine($"{key} = {result[key]}");
}
Or if you have more <DataRow> siblings:
var result = xDocument.Descendants("DataRow").Select(r => r.Descendants("DataItem").ToDictionary(e => e.Attribute("name").Value, e => e.Value));
foreach (var dict in result)
{
foreach (var key in dict.Keys)
{
Console.WriteLine($"{key} = {dict[key]}");
}
Console.WriteLine();
}