using System.Collections.Generic;
public static void Main()
var doc = XDocument.Parse(XmlString);
var ns = doc.Root.GetNamespaceOfPrefix("xsi");
var names = doc.Descendants("Items")
.Where(x => x.Attribute(ns + "type").Value == "FileModel")
.Select(x => x.Element("Name").Value)
names.ForEach(x => Console.WriteLine(x));
var allName = string.Join(", ", names);
Console.WriteLine("\n" + allName);
private static string XmlString = @"<?xml version=""1.0""?>
<MainClass xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
<Settings xsi:type=""FileModel"">
<IsActive>true</IsActive>
<IsHidden>false</IsHidden>
<Settings xsi:type=""FileModel"">
<IsActive>true</IsActive>
<IsHidden>false</IsHidden>
<Settings xsi:type=""ServerModel"">
<IsActive>false</IsActive>
<IsHidden>false</IsHidden>