using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; public class LINQtoXML { public static void Main(string[] args) { XDocument doc = XDocument.Load("StudentInfo.xml"); //PrintElement(doc.Root, 0); // Select a specific element var elements = from el in doc.Descendants("courseInfo") select el; foreach (var e in elements) PrintElement(e, 0); Console.WriteLine(); var elements1 = from e2 in doc.Descendants("courseInfo").Elements() where e2.Name.LocalName.StartsWith("c") select e2; foreach (var e in elements1) PrintElement(e, 0); } private static void PrintElement(XElement element, int indentLevel) { string name = element.Name.LocalName; Indent(indentLevel); Console.WriteLine('<' + name + '>'); if (element.HasElements) { foreach (var child in element.Elements()) PrintElement(child,indentLevel+1); } else { Indent(indentLevel+1); Console.WriteLine(element.Value.Trim()); } Indent(indentLevel); Console.WriteLine("'); } private static void Indent(int level) { for (int i = 0; i < level; i++) Console.Write(" "); } }