コード例 #1
0
ファイル: GPXParser.cs プロジェクト: ksued/opencache-manager
        public int PreParseForSingle(FileStream fs, ACacheStore store)
        {
            XmlReader rdr = XmlReader.Create(fs);
            //rdr.Settings.IgnoreWhitespace = true;

            int           count     = 0;
            List <String> waypoints = new List <String>();

            while (rdr.Read())
            {
                if (rdr.Name == "wpt" && rdr.IsStartElement())
                {
                    count++;
                }
                else if (rdr.Name == "waypoint" && rdr.IsStartElement())
                {
                    count++;
                }
                else if (rdr.LocalName == "name" && rdr.IsStartElement())
                {
                    waypoints.Add(ACacheStore.Escape(rdr.ReadElementContentAsString()));
                }
            }

            rdr.Close();
            store.PurgeAllTravelBugs(waypoints.ToArray());
            if (m_purgeLogs)
            {
                store.PurgeAllLogs(waypoints.ToArray());
            }
            store.PurgeAllAttributes(waypoints.ToArray());
            return(count);
        }
コード例 #2
0
ファイル: GPXParser.cs プロジェクト: ksued/opencache-manager
        public void clearForImport(FileStream fs, ACacheStore store)
        {
            XmlReader rdr = XmlReader.Create(fs);
            //rdr.Settings.IgnoreWhitespace = true;
            List <String> waypoints = new List <String>();

            while (rdr.Read())
            {
                if (rdr.LocalName == "name" && rdr.IsStartElement())
                {
                    waypoints.Add(ACacheStore.Escape(rdr.ReadElementContentAsString()));
                }
            }
            rdr.Close();
            store.PurgeAllTravelBugs(waypoints.ToArray());
            if (m_purgeLogs)
            {
                store.PurgeAllLogs(waypoints.ToArray());
            }
            store.PurgeAllAttributes(waypoints.ToArray());
            return;
        }