Пример #1
0
        private void LoadLineEntities(XmlDocument xmlDoc)
        {
            LineEntity l;

            XmlNodeList nodeList = xmlDoc.DocumentElement.SelectNodes("/NetworkModel/Lines/LineEntity");

            foreach (XmlNode node in nodeList)
            {
                l           = new LineEntity();
                l.Id        = long.Parse(node.SelectSingleNode("Id").InnerText);
                l.Name      = node.SelectSingleNode("Name").InnerText;
                l.FirstEnd  = long.Parse(node.SelectSingleNode("FirstEnd").InnerText);
                l.SecondEnd = long.Parse(node.SelectSingleNode("SecondEnd").InnerText);

                foreach (XmlNode pointNode in node.ChildNodes[9].ChildNodes) // 9 posto je Vertices 9. node u jednom line objektu
                {
                    Point p = new Point();

                    p.X = double.Parse(pointNode.SelectSingleNode("X").InnerText);
                    p.Y = double.Parse(pointNode.SelectSingleNode("Y").InnerText);

                    double x, y;
                    ToLatLon(p.X, p.Y, 34, out x, out y);

                    p.X = x;
                    p.Y = y;

                    l.Vertices.Add(p);
                }

                PowerGrid.AssignLine(l);
            }
        }