using System.Collections.Generic;
using System.Xml.Serialization;
public static void Main()
<Continent>Asia</Continent>
<TimeZone>Hong Kong Standard Time</TimeZone>
<FirstName>Joe</FirstName>
<LastName>Stevenson</LastName>
<FirstName>Joe</FirstName>
<LastName>Hancock</LastName>
<FirstName>Kirby</FirstName>
<LastName>Stevenson</LastName>
string trimmedFirstName = "Joe";
string trimmedLastName = "Stevenson";
XDocument convertedPayload = XDocument.Parse(xml);
List<XElement> peopleChildren = convertedPayload.Descendants("Person")
.Where(a => a.Value.Contains(trimmedFirstName)
&& a.Value.Contains(trimmedLastName))
Console.WriteLine(peopleChildren.Count());
using System.IO.StringWriter sw = new System.IO.StringWriter();
using XmlTextWriter xmlTextWriter = new XmlTextWriter(sw) { Formatting = Formatting.Indented };
XmlSerializer serializer = new XmlSerializer(peopleChildren.GetType());
serializer.Serialize(sw, peopleChildren);
Console.WriteLine(sw.ToString());