Exemplo n.º 1
0
        private static KmlFolder ParseFolder(XmlNode xnode)
        {
            KmlFolder folder = new KmlFolder();

            foreach (XmlNode node in xnode.ChildNodes)
            {
                string name = node.Name.ToLower();
                switch (name)
                {
                case "folder": folder.SubFolders.Add(ParseFolder(node)); break;

                case "placemark": folder.Placemarks.Add(ParsePlacemark(node)); break;

                default: ParseProperties(folder, name, node); break;
                }
            }

            return(folder);
        }
Exemplo n.º 2
0
        public void WriteKmlFolder(KmlFolder folder)
        {
            if (folder != null)
            {
                WriteStartElement("Folder");
                WriteComment("Folder Guid: " + folder.CN);

                WriteElementString("name", folder.Name);
                WriteKmlDescription(folder.Desctription);

                if (folder.StyleUrl != null && folder.StyleUrl != "")
                {
                    WriteElementString("styleUrl", folder.StyleUrl);
                }

                if (folder.Visibility != null)
                {
                    WriteElementString("visibility", ConvertBool((bool)folder.Visibility).ToString());
                }

                if (folder.Open != null)
                {
                    WriteElementString("open", ConvertBool((bool)folder.Open).ToString());
                }

                WriteProperties(folder);

                foreach (KmlFolder subFolder in folder.SubFolders)
                {
                    WriteKmlFolder(subFolder);
                }

                foreach (Placemark pm in folder.Placemarks)
                {
                    WritePlacemark(pm);
                }

                //end folder
                WriteEndElement();
            }
        }
Exemplo n.º 3
0
 public KmlFolder(KmlFolder folder) : base(folder)
 {
     CN = folder.CN;
     SubFolders.AddRange(folder.SubFolders);
     Placemarks.AddRange(folder.Placemarks);
 }
Exemplo n.º 4
0
 public KmlDocument(KmlFolder doc) : base(doc)
 {
 }