Esempio n. 1
0
        /// <summary>
        ///     Loads a file containing the jail entries
        /// </summary>
        /// <param name="filename">The filename to load</param>
        /// <returns></returns>
        private static IEnumerable <JailEntry> LoadJailFile(string filename)
        {
            var jailings = new List <JailEntry>();

            var dom = new XmlDocument();

            if (File.Exists(filename))
            {
                try
                {
                    dom.Load(filename);
                }
                catch
                { }

                if (dom.ChildNodes.Count < 2)
                {
                    return(jailings);
                }

                XmlNode xItems = dom.ChildNodes[1];

                foreach (XmlNode xJail in xItems.ChildNodes)
                {
                    JailEntry jail = null;

                    try                     // If modified manually, some entries might be broken
                    {
                        jail = JailEntry.Load(xJail);
                    }
                    finally
                    {
                        if (jail != null)
                        {
                            jailings.Add(jail);
                        }
                    }
                }
            }

            return(jailings);
        }