static ScottishParish() { // load Scottish Parishes from XML file string startPath; if (Application.StartupPath.Contains("COMMON7\\IDE")) // running unit tests { startPath = Path.Combine(Environment.CurrentDirectory, "..\\..\\.."); } else { startPath = Application.StartupPath; } string filename = Path.Combine(startPath, @"Resources\ScottishParishes.xml"); if (File.Exists(filename)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(filename); //xmlDoc.Validate(something); foreach (XmlNode n in xmlDoc.SelectNodes("ScottishParish/ByID/Parish")) { string region = n.Attributes["Region"].Value; string name = n.Attributes["Name"].Value; string RD = n.Attributes["RD"].Value; ScottishParish sp = new ScottishParish(RD, name, region); AddParish(RD, sp); } } }
private static void AddParish(string RD, ScottishParish sp) { try { SCOTTISHPARISHES.Add(RD, sp); } catch (ArgumentException) { } // ignore duplicates leave first value in list }