示例#1
0
        private Parts.File ParseFileNode(XmlNode xNode)
        {
            var toret = new Parts.File();

            if (xNode.Attributes["name"] != null)
                toret.name = xNode.Attributes["name"].Value;
            if (xNode.Attributes["type"] != null)
                toret.type = (Parts.File.Type)
                    Enum.Parse(typeof(Parts.File.Type), xNode.Attributes["type"].Value.ToUpper());

            switch (toret.type)
            {
                case Parts.File.Type.NONE:
                    break;
                case Parts.File.Type.CS:
                    toret.ext = "cs";
                    break;
                case Parts.File.Type.PY:
                    toret.ext = "py";
                    break;
                case Parts.File.Type.SETTING:
                    toret.ext = "setting";
                    break;
                default:
                    break;
            }

            foreach (XmlNode node in xNode.ChildNodes)
            {
                switch (node.Name)
                {
                    case "Name":
                        toret.name = node.InnerText;
                        break;
                    case "Ext":
                        toret.ext = node.InnerText;
                        break;
                    case "Mapping":
                        toret.mappings.Add(
                            node.Attributes["name"].Value,
                            node.Attributes["value"].Value);
                        break;
                    case "API":
                        toret.api = ParseAPINode(node);
                        break;
                    default:
                        break;
                }
            }

            return toret;
        }
示例#2
0
        private Parts.File ParseFileNode(XmlNode xNode)
        {
            var toret = new Parts.File();

            if (xNode.Attributes["name"] != null)
            {
                toret.name = xNode.Attributes["name"].Value;
            }
            if (xNode.Attributes["type"] != null)
            {
                toret.type = (Parts.File.Type)
                             Enum.Parse(typeof(Parts.File.Type), xNode.Attributes["type"].Value.ToUpper());
            }

            switch (toret.type)
            {
            case Parts.File.Type.NONE:
                break;

            case Parts.File.Type.CS:
                toret.ext = "cs";
                break;

            case Parts.File.Type.PY:
                toret.ext = "py";
                break;

            case Parts.File.Type.SETTING:
                toret.ext = "setting";
                break;

            default:
                break;
            }

            foreach (XmlNode node in xNode.ChildNodes)
            {
                switch (node.Name)
                {
                case "Name":
                    toret.name = node.InnerText;
                    break;

                case "Ext":
                    toret.ext = node.InnerText;
                    break;

                case "Mapping":
                    toret.mappings.Add(
                        node.Attributes["name"].Value,
                        node.Attributes["value"].Value);
                    break;

                case "API":
                    toret.api = ParseAPINode(node);
                    break;

                default:
                    break;
                }
            }

            return(toret);
        }