예제 #1
0
        public static Message ParseFromXml(XmlNode node, Message ret = null)
        {
            if (null == ret)
            {
                ret = new Message();
            }
            ret = (Message)AbstractData.ParseFromXml(node, ret);
            XmlNode cnode = null;

            cnode = node.SelectSingleNode("type");
            if (null != cnode)
            {
                BaseType eval;
                Enum.TryParse(cnode.InnerText, out eval);
                ret.type = eval;
            }
            cnode = node.SelectSingleNode("unit");
            if (null != cnode)
            {
                ret.unit = Group <Unit> .GFindWithName(cnode.InnerText);
            }
            cnode = node.SelectSingleNode("compuMethod");
            if (null != cnode)
            {
                ret.compuMethod = Group <CompuMethod> .GFindWithName(cnode.InnerText);
            }
            return(ret);
        }
예제 #2
0
        public static RationalFunction ParseFromXml(XmlNode node, RationalFunction ret = null)
        {
            if (null == ret)
            {
                ret = new RationalFunction();
            }
            ret = (RationalFunction)AbstractData.ParseFromXml(node, ret);
            XmlNode cnode = null;

            cnode = node.SelectSingleNode("Numerators");
            if (null != cnode)
            {
                XmlNodeList dnodes = cnode.SelectNodes("vt");
                for (int i = 0; i < dnodes.Count; i++)
                {
                    ret.Numerators [i] = Convert.ToDouble(dnodes.Item(i).InnerText);
                }
            }
            cnode = node.SelectSingleNode("Denominators");
            if (null != cnode)
            {
                XmlNodeList dnodes = cnode.SelectNodes("vt");
                for (int i = 0; i < dnodes.Count; i++)
                {
                    ret.Denominators [i] = Convert.ToDouble(dnodes.Item(i).InnerText);
                }
            }
            return(ret);
        }
예제 #3
0
        public static Project ParseFromXml(XmlNode node, Project ret = null)
        {
            if (null == ret)
            {
                ret = new Project();
            }
            ret = (Project)AbstractData.ParseFromXml(node, ret);
            XmlNode cnode = null;

            cnode = node.SelectSingleNode("author");
            if (null != cnode)
            {
                ret.author = cnode.InnerText;
            }
            cnode = node.SelectSingleNode("license");
            if (null != cnode)
            {
                ELicense eVal;
                Enum.TryParse(cnode.InnerText, out eVal);
                ret.license = eVal;
            }
            cnode = node.SelectSingleNode("language");
            if (null != cnode)
            {
                ELanguage eVal;
                Enum.TryParse(cnode.InnerText, out eVal);
                ret.language = eVal;
            }
            cnode = node.SelectSingleNode("author");
            if (null != cnode)
            {
                ret.author = cnode.InnerText;
            }
            cnode = node.SelectSingleNode("Units");
            if (null != cnode)
            {
                ret.Units = Group <Unit> .ParseFromXml(cnode, ret.Units);
            }
            cnode = node.SelectSingleNode("CompuMethods");
            if (null != cnode)
            {
                ret.CompuMethods = Group <CompuMethod> .ParseFromXml(cnode, ret.CompuMethods);
            }
            cnode = node.SelectSingleNode("Messages");
            if (null != cnode)
            {
                ret.Messages = Group <Message> .ParseFromXml(cnode, ret.Messages);
            }
            cnode = node.SelectSingleNode("Processes");
            if (null != cnode)
            {
                ret.Processes = Group <Process> .ParseFromXml(cnode, ret.Processes);
            }
            cnode = node.SelectSingleNode("Tasks");
            if (null != cnode)
            {
                ret.Tasks = Group <Task> .ParseFromXml(cnode, ret.Tasks);
            }
            return(ret);
        }
예제 #4
0
        public static Unit ParseFromXml(XmlNode node, Unit ret = null)
        {
            if (null == ret)
            {
                ret = new Unit();
            }
            ret = (Unit)AbstractData.ParseFromXml(node, ret);
            XmlNode cnode = null;

            cnode = node.SelectSingleNode("showAs");
            if (null != cnode)
            {
                ret.showAs = cnode.InnerText;
            }
            cnode = node.SelectSingleNode("coeff");
            if (null != cnode)
            {
                ret.coeff = Convert.ToDouble(cnode.InnerText);
            }
            cnode = node.SelectSingleNode("exponents");
            if (null != cnode)
            {
                foreach (var item in typeof(SIunit).GetEnumValues())
                {
                    XmlNode dnode = cnode.SelectSingleNode(item.ToString());
                    if (null != dnode)
                    {
                        ret.exponents [(int)item] = Convert.ToInt32(dnode.InnerText);
                    }
                }
            }
            return(ret);
        }
예제 #5
0
        public static Process ParseFromXml(XmlNode node, Process ret = null)
        {
            if (null == ret)
            {
                ret = new Process();
            }
            ret = (Process)AbstractData.ParseFromXml(node, ret);
            XmlNode cnode = null;

            cnode = node.SelectSingleNode("receiveMessages");
            if (null != cnode)
            {
                for (int i = 0; i < cnode.SelectNodes("message").Count; i++)
                {
                    XmlNode dnode = cnode.SelectNodes("message").Item(i);
                    ret.receiveMessages.Add(Group <Message> .GFindWithName(dnode.InnerText));
                }
            }
            cnode = node.SelectSingleNode("sendMessages");
            if (null != cnode)
            {
                for (int i = 0; i < cnode.SelectNodes("message").Count; i++)
                {
                    XmlNode dnode = cnode.SelectNodes("message").Item(i);
                    ret.sendMessages.Add(Group <Message> .GFindWithName(dnode.InnerText));
                }
            }
            return(ret);
        }
예제 #6
0
        public static Task ParseFromXml(XmlNode node, Task ret = null)
        {
            if (null == ret)
            {
                ret = new Task();
            }
            ret = (Task)AbstractData.ParseFromXml(node, ret);
            XmlNode cnode = null;

            cnode = node.SelectSingleNode("raster");
            if (null != cnode)
            {
                ret.raster = int.Parse(cnode.InnerText);
            }
            cnode = node.SelectSingleNode("processes");
            if (null != cnode)
            {
                for (int i = 0; i < cnode.SelectNodes("process").Count; i++)
                {
                    XmlNode dnode = cnode.SelectNodes("process").Item(i);
                    ret.processes.Add(Group <Process> .GFindWithName(dnode.InnerText));
                }
            }
            return(ret);
        }
예제 #7
0
        public static StateMachine ParseFromXml(XmlNode node, StateMachine ret = null)
        {
            if (null == ret)
            {
                ret = new StateMachine();
            }
            ret = (StateMachine)AbstractData.ParseFromXml(node, ret);
            XmlNode cnode = null;

            cnode = node.SelectSingleNode("showAs");
            if (null != cnode)
            {
                //ret.showAs = cnode.InnerText;
            }
            return(ret);
        }
예제 #8
0
        public static VerbalTable ParseFromXml(XmlNode node, VerbalTable ret = null)
        {
            if (null == ret)
            {
                ret = new VerbalTable();
            }
            ret = (VerbalTable)AbstractData.ParseFromXml(node, ret);
            XmlNode cnode = null;

            cnode = node.SelectSingleNode("items");
            if (null != cnode)
            {
                for (int i = 0; i < cnode.SelectNodes("item").Count; i++)
                {
                    XmlNode dnode = cnode.SelectNodes("item").Item(i);
                    ret.items.Add(Convert.ToInt32(dnode.SelectSingleNode("key").InnerText),
                                  dnode.SelectSingleNode("value").InnerText);
                }
            }
            return(ret);
        }