private static void TraverseNodesCounts(XElement node, h4Count info) { if (node.Name == "h4") { string v = node.Value; if (v == strName) { info.names++; } else if (v == strCSpecification) { info.cSpecifications++; } else if (v == strDescription) { info.descriptions++; } else if (v == strSeeAlso) { info.seeAlsos++; } else if (v == strDocNotes) { info.docNotes++; } } foreach (XElement item in node.Elements()) { TraverseNodesCounts(item, info); } }
public static void h4Counts() { XElement root = XElement.Load(filename); var info = new h4Count(); TraverseNodesCounts(root, info); // all are 37. Great! Console.WriteLine("Name: {0}", info.names); Console.WriteLine("C Specification: {0}", info.cSpecifications); Console.WriteLine("Description: {0}", info.descriptions); Console.WriteLine("See Also: {0}", info.seeAlsos); Console.WriteLine("Document Notes: {0}", info.docNotes); }