public void Open(bool Ac, ref bool VIP) { int Cont; Access = Ac; try { XmlDocument Archivo = new XmlDocument(); //Crea un Objeto XmlDocument. Archivo.Load("Config.XML"); //Lee el archivo. XmlNodeList Ruta = Archivo.GetElementsByTagName("RutaDB"); //Hace una lista de elementos contenidos por la etiqueta RutaDB XmlNodeList Listar = ((XmlElement)Ruta[0]).GetElementsByTagName("DB"); //Hace una lista de elementos contenidos por la etiqueta DB en la primera etiqueta RutaDB encontrada. foreach (XmlElement Nodo in Listar) //Recorre los elementos en la lista "Listar" { if (Access) { Conex = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=";//Crea la ConexionString Conex += Nodo.GetElementsByTagName("Ruta").Item(0).InnerText + ";Jet OLEDB:Database Password="******"Clave").Item(0).InnerText) + ";"; } else { Conex = "data source =" + Nodo.GetElementsByTagName("Ruta").Item(0).InnerText;//Crea la ConexionString Conex += "; initial catalog =" + Nodo.GetElementsByTagName("Nombre").Item(0).InnerText + "; user id ="; Conex += Nodo.GetElementsByTagName("Usuario").Item(0).InnerText + "; password ="******"Clave").Item(0).InnerText); } } XmlNodeList UR = Archivo.GetElementsByTagName("URL"); //Hace una lista de elementos contenidos por la etiqueta URL URL = ((XmlElement)UR[0]).GetElementsByTagName("web").Item(0).InnerText; //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada. Ports = ((XmlElement)UR[0]).GetElementsByTagName("PORTSER").Item(0).InnerText; //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada. XmlNodeList Tablas = Archivo.GetElementsByTagName("Tablas"); //Hace una lista de elementos contenidos por la etiqueta Tablas XmlNodeList LisTablas = ((XmlElement)Tablas[0]).GetElementsByTagName("Tabla"); //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada. TablasDB = new string[LisTablas.Count]; Cont = 0; foreach (XmlElement Nodo in LisTablas)//Recorre los elementos en la lista "Listar" { TablasDB[Cont] = Nodo.GetElementsByTagName("Nombre").Item(0).InnerText; Cont++; } XmlNodeList VI = Archivo.GetElementsByTagName("Servicios"); //Hace una lista de elementos contenidos por la etiqueta URL VIP = Convert.ToBoolean(((XmlElement)VI[0]).GetElementsByTagName("VIP").Item(0).InnerText); //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada. XmlNodeList Ho = Archivo.GetElementsByTagName("Mail"); //Hace una lista de elementos contenidos por la etiqueta URL Host = ((XmlElement)Ho[0]).GetElementsByTagName("Host").Item(0).InnerText; //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada. Port = ((XmlElement)Ho[0]).GetElementsByTagName("Port").Item(0).InnerText; //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada. email = ((XmlElement)Ho[0]).GetElementsByTagName("Email").Item(0).InnerText; //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada. clave = ((XmlElement)Ho[0]).GetElementsByTagName("Clave").Item(0).InnerText; //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada. } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("No se pudo cargar el archivo de configuración"); Funciones.Log(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), ex.Message + ex.StackTrace.Substring(ex.StackTrace.Length - 11)); } }