Пример #1
0
        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);
        }
Пример #2
0
        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;
        }