/// <summary>
        /// Permite abrir un fichero xml en el que esta almacenada la base de
        /// datos.
        /// </summary>
        /// <param name="path">
        /// La ruta del archivo que queremos cargar.
        /// </param>
        public static MathTextDatabase Load(string path)
        {
            XmlSerializer serializer =
                new XmlSerializer(typeof(MathTextDatabase),
                                  MathTextDatabase.GetXmlAttributeOverrides());

            MathTextDatabase db = null;
            StreamReader     r  = null;


            try
            {
                r = new StreamReader(path);
            }
            catch (Exception)
            {
                return(null);
            }


            try
            {
                db = (MathTextDatabase)serializer.Deserialize(r);
            }
            catch (System.Xml.XmlException)
            {
                // Nada.
            }

            r.Close();

            return(db);
        }
        /// <summary>
        /// Este metodo almacena la base de datos en el disco duro.
        /// </summary>
        /// <param name="path">
        /// La ruta del archivo en la que se guardara la base de datos.
        /// </param>
        public void Save(string path)
        {
            XmlSerializer serializer =
                new XmlSerializer(typeof(MathTextDatabase),
                                  MathTextDatabase.GetXmlAttributeOverrides());

            using (StreamWriter w = new StreamWriter(path))
            {
                serializer.Serialize(w, this);
                w.Close();
            }
        }