internal void load(FileInfo fileInfo) { SatelliteFrequency satelliteFrequency = null; XmlReader reader = null; XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; try { reader = XmlReader.Create(fileInfo.FullName, settings); } catch (IOException) { Logger.Instance.Write("Failed to open " + fileInfo.Name); return; } try { while (!reader.EOF) { reader.Read(); if (reader.IsStartElement()) { switch (reader.Name) { case "Transponder": if (satelliteFrequency != null) AddFrequency(satelliteFrequency); satelliteFrequency = new SatelliteFrequency(); satelliteFrequency.Provider = this; break; default: if (satelliteFrequency != null) satelliteFrequency.load(reader); break; } } } if (satelliteFrequency != null) AddFrequency(satelliteFrequency); } catch (XmlException e) { Logger.Instance.Write("Failed to load file " + fileInfo.Name); Logger.Instance.Write("Data exception: " + e.Message); } catch (IOException e) { Logger.Instance.Write("Failed to load file " + fileInfo.Name); Logger.Instance.Write("I/O exception: " + e.Message); } if (reader != null) reader.Close(); }