private Parts.Folder ParseFolderNode(XmlNode xNode) { var toret = new Parts.Folder(); if (xNode.Attributes["name"] != null) { toret.name = xNode.Attributes["name"].Value; } foreach (XmlNode node in xNode.ChildNodes) { switch (node.Name) { case "Folder": toret.folders.Add(ParseFolderNode(node)); break; case "FolderTemplate": foreach (var fName in new string[] { "Global", "MainMenu" }) { XmlElement xElem = (XmlElement)node; xElem.SetAttribute("name", fName); toret.folders.Add(ParseFolderNode((XmlNode)xElem)); } break; case "File": toret.files.Add(ParseFileNode(node)); break; case "Project": toret.projects.Add(ParseProjectNode(node)); break; case "Solution": toret.isSolution = true; if (node.Attributes["name"] != null) { toret.solutionName = node.Attributes["name"].Value; } break; default: break; } } return(toret); }
private Parts.Folder ParseFolderNode(XmlNode xNode) { var toret = new Parts.Folder(); if (xNode.Attributes["name"] != null) toret.name = xNode.Attributes["name"].Value; foreach (XmlNode node in xNode.ChildNodes) { switch (node.Name) { case "Folder": toret.folders.Add(ParseFolderNode(node)); break; case "FolderTemplate": foreach (var fName in new string[] { "Global", "MainMenu" }) { XmlElement xElem = (XmlElement)node; xElem.SetAttribute("name", fName); toret.folders.Add(ParseFolderNode((XmlNode)xElem)); } break; case "File": toret.files.Add(ParseFileNode(node)); break; case "Project": toret.projects.Add(ParseProjectNode(node)); break; case "Solution": toret.isSolution = true; if (node.Attributes["name"] != null) toret.solutionName = node.Attributes["name"].Value; break; default: break; } } return toret; }