static void ProcessDirectory(string directoryName, WaypointCollector collector) { foreach (string filename in Directory.GetFiles(directoryName, "*.gpx")) ProcessFile(filename, collector); foreach (string dir in Directory.GetDirectories(directoryName)) ProcessDirectory(dir, collector); }
static void Main(string[] args) { if (args.Length != 2) return; if (!Directory.Exists(args[0])) return; WaypointCollector collector = new WaypointCollector(); ProcessDirectory(args[0], collector); File.Delete(args[1]); collector.Save(args[1]); }
static void ProcessFile(string filename, WaypointCollector collector) { try { XmlDocument a_doc = new XmlDocument(); a_doc.Load(filename); //XmlNamespaceManager nsmgr = new XmlNamespaceManager(a_doc.NameTable); //nsmgr.AddNamespace("1", a_doc.DocumentElement.NamespaceURI); var waypoints = a_doc.GetElementsByTagName("wpt"); foreach (XmlElement waypoint in waypoints) collector.AddWaypoint(waypoint, filename); } catch(Exception ex) { Console.WriteLine(string.Format("{0}: {1}", filename, ex.Message)); } }