Example #1
0
        /// <summary>
        /// parse an xml node to extract data
        /// </summary>
        /// <param name="xnod"></param>
        /// <param name="level"></param>
        public void LoadFromXml(XmlNode xnod, int level, String ObjectType)
        {
            XmlNode xnodWorking;

            if (xnod.Name == "name")
                Name = xnod.InnerText;

            if (xnod.Name == "description")
                Description = xnod.InnerText;

            if (xnod.Name == "Polygons")
            {
                ObjectType = xnod.Name;
                Polygons.Clear();
            }

            if (xnod.Name == "Points")
            {
                ObjectType = xnod.Name;
                Points.Clear();
            }

            if (xnod.Name == "Paths")
            {
                ObjectType = xnod.Name;
                Paths.Clear();
            }

            if (xnod.Name == "Placemark")
            {
                if (ObjectType == "Polygons")
                {
                    kmlPlacemarkPolygon poly = new kmlPlacemarkPolygon();
                    poly.LoadFromXml(xnod, level);
                    Polygons.Add(poly);
                }
                if (ObjectType == "Points")
                {
                    kmlPlacemarkPoint pt = new kmlPlacemarkPoint();
                    pt.LoadFromXml(xnod, level);
                    Points.Add(pt);
                }
                if (xnod.Name == "Paths")
                {
                    kmlPlacemarkPath path = new kmlPlacemarkPath();
                    path.LoadFromXml(xnod, level);
                    Paths.Add(path);
                }
            }

            // call recursively on all children of the current node
            if (xnod.HasChildNodes)
            {
                xnodWorking = xnod.FirstChild;
                while (xnodWorking != null)
                {
                    LoadFromXml(xnodWorking, level + 1, ObjectType);
                    xnodWorking = xnodWorking.NextSibling;
                }
            }
        }
Example #2
0
        /// <summary>
        /// parse an xml node to extract data
        /// </summary>
        /// <param name="xnod"></param>
        /// <param name="level"></param>
        public void LoadFromXml(XmlNode xnod, int level, String ObjectType)
        {
            XmlNode xnodWorking;

            if (xnod.Name == "name")
            {
                Name = xnod.InnerText;
            }

            if (xnod.Name == "description")
            {
                Description = xnod.InnerText;
            }

            if (xnod.Name == "Polygons")
            {
                ObjectType = xnod.Name;
                Polygons.Clear();
            }

            if (xnod.Name == "Points")
            {
                ObjectType = xnod.Name;
                Points.Clear();
            }

            if (xnod.Name == "Paths")
            {
                ObjectType = xnod.Name;
                Paths.Clear();
            }

            if (xnod.Name == "Placemark")
            {
                if (ObjectType == "Polygons")
                {
                    kmlPlacemarkPolygon poly = new kmlPlacemarkPolygon();
                    poly.LoadFromXml(xnod, level);
                    Polygons.Add(poly);
                }
                if (ObjectType == "Points")
                {
                    kmlPlacemarkPoint pt = new kmlPlacemarkPoint();
                    pt.LoadFromXml(xnod, level);
                    Points.Add(pt);
                }
                if (xnod.Name == "Paths")
                {
                    kmlPlacemarkPath path = new kmlPlacemarkPath();
                    path.LoadFromXml(xnod, level);
                    Paths.Add(path);
                }
            }

            // call recursively on all children of the current node
            if (xnod.HasChildNodes)
            {
                xnodWorking = xnod.FirstChild;
                while (xnodWorking != null)
                {
                    LoadFromXml(xnodWorking, level + 1, ObjectType);
                    xnodWorking = xnodWorking.NextSibling;
                }
            }
        }