private static void ProcessXmlFile(Graph graph, string xmlFilePath) { XmlDocument document = new XmlDocument(); document.Load(xmlFilePath); XmlNode mainNode = document.DocumentElement.SelectSingleNode(Xml.CompoundDef); if (mainNode != null) { string kind = Xml.GetKind(mainNode); switch (kind) { case "class": case "struct": Class newClass = ProcessClass(mainNode); graph.Classes.Add(newClass); break; case "namespace": string namespaceName = Xml.GetCompoundNodeName(mainNode); ProcessMembers(graph, mainNode, namespaceName); break; default: break; } } }
private static Class ProcessClass(XmlNode node) { string id = Xml.GetId(node); string fullName = Xml.GetCompoundNodeName(node); string namespaceName = GetNamespaceFromFullyQualifiedName(fullName); Class classDefinition = new Class(id, GetNameFromFullyQualifiedName(fullName), namespaceName); ProcessMembers(classDefinition, node, namespaceName); return(classDefinition); }