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); }
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(); } }
public KmlFolder(KmlFolder folder) : base(folder) { CN = folder.CN; SubFolders.AddRange(folder.SubFolders); Placemarks.AddRange(folder.Placemarks); }
public KmlDocument(KmlFolder doc) : base(doc) { }