public void WriteMetadata(GpxMetadata metadata) { Writer_.WriteStartElement("metadata"); if (!IsNullOrWhiteSpace(metadata.Name)) { Writer_.WriteElementString("name", metadata.Name); //IsNullOrWhiteSpace } if (!IsNullOrWhiteSpace(metadata.Description)) { Writer_.WriteElementString("desc", metadata.Description); //IsNullOrWhiteSpace } if (metadata.Author != null) { WritePerson("author", metadata.Author); } if (metadata.Copyright != null) { WriteCopyright("copyright", metadata.Copyright); } if (metadata.Link != null) { WriteLink("link", metadata.Link); } if (metadata.Time != default(DateTime)) { Writer_.WriteElementString("time", ToGpxDateString(metadata.Time)); } if (!IsNullOrWhiteSpace(metadata.Keywords)) { Writer_.WriteElementString("keywords", metadata.Keywords); //IsNullOrWhiteSpace } if (metadata.Bounds != null) { WriteBounds("bounds", metadata.Bounds); } Writer_.WriteEndElement(); }
private void ReadMetadataExtensions(XmlReader reader, GpxMetadata metadata) { SkipElement(reader); }
private GpxMetadata ReadGpxMetadata(XmlReader reader) { GpxMetadata metadata = new GpxMetadata(); if (reader.IsEmptyElement) { return(metadata); } string elementName = reader.Name; while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.Name) { case "name": metadata.Name = ReadContentAsString(reader); break; case "desc": metadata.Description = ReadContentAsString(reader); break; case "author": metadata.Author = ReadGpxPerson(reader); break; case "copyright": metadata.Copyright = ReadGpxCopyright(reader); break; case "link": metadata.Link = ReadGpxLink(reader); break; case "time": metadata.Time = ReadContentAsDateTime(reader); break; case "keywords": metadata.Keywords = ReadContentAsString(reader); break; case "bounds": ReadGpxBounds(reader); break; case "extensions": ReadMetadataExtensions(reader, metadata); break; default: throw new FormatException(reader.Name); } break; case XmlNodeType.EndElement: if (reader.Name != elementName) { throw new FormatException(reader.Name); } return(metadata); } } throw new FormatException(elementName); }