Пример #1
0
        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();
        }