コード例 #1
0
        private void ParsingXML_readInstance(IEnumerable <XElement> elements, ref Module mod, int depth, int flg)
        {
            int idOffset = 0;

            if (flg == 0)
            {
                mod.Id = depth.ToString();
            }

            foreach (var ele in elements)
            {
                switch (ele.Name.ToString())
                {
                case "Type":
                    mod.Type = ele.Value;
                    break;

                case "Coupling":
                    Coupling cp = new Coupling(ele.Attribute("from").Value,
                                               ele.Attribute("fPort").Value, ele.Attribute("to").Value, ele.Attribute("tPort").Value);
                    mod.Couplings.Add(cp);
                    break;

                case "Instance":
                    Module temp = new Module(ele.Attribute("name").Value, "SI");
                    if (flg == 0)
                    {
                        temp.Id = makeId(depth, idOffset);
                    }
                    ParsingXML_readInstance(ele.Elements(), ref temp, depth + 1, flg);
                    mod.Instances.Add(temp);
                    idOffset += 1;
                    break;

                default:
                    Console.WriteLine("[ERROR]----" + ele.Name);
                    break;
                }
            }
        }