Exemplo n.º 1
0
        //导入xml工作空间
        private void ImportWS(string dbPath, string pGDB, string XmlFile)
        {
            IWorkspaceFactory pWSF  = new AccessWorkspaceFactory();
            IWorkspaceName    pWSN  = pWSF.Create(dbPath, pGDB, null, 0);
            IName             pName = (IName)pWSN;
            IWorkspace        pWS   = (IWorkspace)pName.Open();

            //导入库结构
            IGdbXmlImport    pImporter = new GdbImporter();
            IEnumNameMapping pEnumName = null;

            pImporter.GenerateNameMapping(XmlFile, pWS, out pEnumName);
            pImporter.ImportWorkspace(XmlFile, pEnumName, pWS, true);

            System.Runtime.InteropServices.Marshal.ReleaseComObject(pWS);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 依据Workspace.xml文件创建要素类
        /// </summary>
        /// <param name="space">目标工作空间</param>
        /// <param name="xmlpath">workspace类型的xmlw文件</param>
        /// <param name="IsContainsData">创建时,是否导入xml文件中的要素数据</param>
        /// <returns></returns>
        public bool ImportWorkspaceXML(IWorkspace space, string xmlpath, bool IsContainsData = false)
        {
            bool result = false;

            try
            {
                IEnumNameMapping namemapping = null;
                GdbImporter      importer    = new GdbImporter();
                importer.GenerateNameMapping(xmlpath, space, out namemapping);
                importer.ImportWorkspace(xmlpath, namemapping, space, !IsContainsData);
                result = true;
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
            }
            return(result);
        }