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;
        }
        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;
        }
 public void FinishTrack()
 {
     if (state != GpxState.Track)
     {
         throw new InvalidOperationException();
     }
     current = doc.DocumentElement;
     state = GpxState.Root;
 }