using System.Collections.Generic;
public static void Main()
<NameOfEvent>SomeName:</NameOfEvent>
<xpath>some xpath</xpath>
<value>someValue1</value>
<xpath>some xpath</xpath>
<value>someValue2</value>
<xpath>some xpath</xpath>
<value>someValue3</value>
var doc = XDocument.Parse(xml);
var evt = (from el in doc.Descendants("test")
where el.Parent.Name == "Event_1"
group el by el.Parent.Element("NameOfEvent").Value into g
Tests = g.Select(x => new {
XPath = x.Element("xpath").Value,
Value = x.Element("value").Value,
TagName = x.Element("tagName").Value
Console.WriteLine("Event: " + evt.Name);
Console.WriteLine("--------------------");
foreach (var test in evt.Tests)
Console.WriteLine("Test.xpath: " + test.XPath);
Console.WriteLine("Test.value: " + test.Value);
Console.WriteLine("Test.tagName: " + test.TagName);