/// <summary>
        /// Imports a list of servers from a file.
        /// </summary>
        public static void Import(string filepath, bool register)
        {
            Export.ListOfRegisteredServers list = new Opc.ConfigTool.Export.ListOfRegisteredServers();

            // read from file.
            XmlTextReader reader     = new XmlTextReader(filepath);
            XmlSerializer serializer = new XmlSerializer(typeof(Export.ListOfRegisteredServers), ConfigUtils.ConfigToolSchemaUri);

            Export.ListOfRegisteredServers servers = (Export.ListOfRegisteredServers)serializer.Deserialize(reader);
            reader.Close();

            if (ConfigUtils.IsEmpty(servers.Server))
            {
                return;
            }

            // registers the servers.
            for (int ii = 0; ii < servers.Server.Length; ii++)
            {
                RegisteredDotNetOpcServer server = Import(servers.Server[ii]);

                if (register)
                {
                    server.Register();
                }
                else
                {
                    server.Unregister();
                }
            }
        }
        /// <summary>
        /// Exports a list of servers.
        /// </summary>
        public static void Export(string filepath)
        {
            // enumerate servers.
            List <RegisteredDotNetOpcServer> servers = EnumRegisteredServers(false);

            // populate export structures.
            Export.ListOfRegisteredServers serverList = new Export.ListOfRegisteredServers();
            serverList.Server = new Export.RegisteredServer[servers.Count];

            for (int ii = 0; ii < servers.Count; ii++)
            {
                serverList.Server[ii] = Export(servers[ii]);
            }

            // write to file.
            XmlTextWriter writer = new XmlTextWriter(filepath, System.Text.Encoding.UTF8);

            writer.Formatting = Formatting.Indented;

            XmlSerializer serializer = new XmlSerializer(typeof(Export.ListOfRegisteredServers), ConfigUtils.ConfigToolSchemaUri);

            serializer.Serialize(writer, serverList);

            writer.Close();
        }
        /// <summary>
        /// Exports a list of servers.
        /// </summary>
        public static void Export(string filepath)
        {
            // enumerate servers.
            List<RegisteredDotNetOpcServer> servers = EnumRegisteredServers(false);

            // populate export structures.
            Export.ListOfRegisteredServers serverList = new Export.ListOfRegisteredServers();
            serverList.Server = new Export.RegisteredServer[servers.Count];

            for (int ii = 0; ii < servers.Count; ii++)
            {
                serverList.Server[ii] = Export(servers[ii]);
            }

            // write to file.
            XmlTextWriter writer = new XmlTextWriter(filepath, System.Text.Encoding.UTF8);
            writer.Formatting = Formatting.Indented;

            XmlSerializer serializer = new XmlSerializer(typeof(Export.ListOfRegisteredServers), ConfigUtils.ConfigToolSchemaUri);
            serializer.Serialize(writer, serverList);

            writer.Close();
        }