public void FinishTrack() { if (state != GpxState.Track) { throw new InvalidOperationException(); } current = doc.DocumentElement; state = GpxState.Root; }
public void StartTrack(string name) { if (state != GpxState.Root) { throw new InvalidOperationException(); } XmlElement trkNode = doc.CreateElement("trk"); XmlElement nameNode = doc.CreateElement("name"); nameNode.InnerText = name; trkNode.AppendChild(nameNode); XmlElement segNode = doc.CreateElement("trkseg"); trkNode.AppendChild(segNode); current.AppendChild(trkNode); current = segNode; state = GpxState.Track; }