/// <summary>
        /// datatable 转List<object>
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="table"></param>
        /// <returns></returns>
        public static List <XMLObject> DataTableToList(System.Data.DataTable table)
        {
            List <XMLObject> ts       = new List <XMLObject>(); // 定义集合
            Type             type     = typeof(XMLObject);      // 获得此模型的类型
            string           tempName = "";

            foreach (System.Data.DataRow dr in table.Rows)
            {
                XMLObject t = new XMLObject();
                System.Reflection.PropertyInfo[] propertys = t.GetType().GetProperties();// 获得此模型的公共属性
                foreach (System.Reflection.PropertyInfo pi in propertys)
                {
                    tempName = pi.Name;
                    if (table.Columns.Contains(tempName))
                    {
                        if (!pi.CanWrite)
                        {
                            continue;
                        }
                        object value = dr[tempName];
                        if (value != DBNull.Value)
                        {
                            pi.SetValue(t, value, null);
                        }
                    }
                }
                ts.Add(t);
            }
            return(ts);
        }
 /// <summary>
 /// 将Excel文件生成无数个xml对象
 /// </summary>
 /// <param name="FilePath">excel文件的路径</param>
 /// <returns></returns>
 public List <XMLObject> ExcelToXMLObject(String FilePath)
 {
     Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
     try
     {
         object missing = System.Reflection.Missing.Value;
         excel.Visible     = false;
         excel.UserControl = true;
         // 以只读的形式打开EXCEL文件
         Workbook wb = excel.Application.Workbooks.Open(FilePath, missing, true, missing, missing, missing,
                                                        missing, missing, missing, true, missing, missing, missing, missing, missing);
         //取得第一个工作薄
         Worksheet ws = (Worksheet)wb.Worksheets.get_Item(1);
         //取得总记录行数   (包括标题列)
         int rowsint    = ws.UsedRange.Cells.Rows.Count;    //得到行数
         int columnsint = ws.UsedRange.Cells.Columns.Count; //得到列数
         //取得数据范围区域 (不包括标题列)
         XMLObject             xmlObject     = new XMLObject();
         List <XMLObject>      xmlObjectList = new List <XMLObject>();
         System.Data.DataTable dataTable     = new System.Data.DataTable();
         Type entityType = xmlObject.GetType();
         System.Reflection.PropertyInfo[] entityProperties = entityType.GetProperties();
         for (int i = 0; i < entityProperties.Length; i++)
         {
             dataTable.Columns.Add(entityProperties[i].Name);
         }
         for (int i = 2; i <= rowsint; i++)                                             //除去标题行开始,excel从1开始
         {
             Range xml = ws.Cells.Range[excel.Cells[i, 1], excel.Cells[i, columnsint]]; //一行excel
             object[,] objData = new object[1, xml.Count];
             objData           = xml.Value2;                                            //二维数据
             object[] entityValues = new object[entityProperties.Length];
             dataTable.Rows.Add();
             for (int j = 0; j < entityProperties.Length; j++)
             {
                 dataTable.Rows[i - 2][j] = objData[1, j + 1] == null ? "" : objData[1, j + 1];//datatable从0,0开始
             }
         }
         return(DataTableToList(dataTable));
     }
     catch (Exception ex) {
         ErrorLog.RecordExceptionToFile(ex, FilePath, "excel 文件 转 object时");
         MessageBox.Show("excel文件读取数据时异常,请查看错误日志ErrorLog", "确定");
         return(null);
     }
     finally
     {
         excel.Quit();
         excel = null;
         GC.Collect();
     }
 }
Exemple #3
0
        /// <summary>
        /// 把xml文件读取成一个object对象
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public XMLObject XMLFiletoObject(String filePath, String fileName)
        {
            XMLObject xmlObject = new XMLObject();
            string    text      = string.Empty;

            try
            {
                #region 修改特殊字符()
                using (FileStream fs = new FileStream(@"" + filePath + "\\" + fileName, FileMode.Open, FileAccess.Read))
                {
                    using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312")))
                    {
                        text = sr.ReadToEnd();
                        text = text.Replace("要素(实体)类型名称", "要素实体类型名称");
                    }
                }
                using (FileStream fs = new FileStream(@"" + filePath + "\\" + fileName, FileMode.Create, FileAccess.Write))
                {
                    using (StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding("gb2312")))
                    {
                        sw.Write(text);
                    }
                }
                #endregion

                xmlObject.fileName = fileName;
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"" + filePath + "\\" + fileName);   //一个xml文件
                ///获取城市 区名
                String position = xmlDoc.FirstChild.NextSibling.InnerText;
                xmlObject.City = position.Substring(position.IndexOf("省") + 1, position.IndexOf("市") - position.IndexOf("省"));
                xmlObject.Area = position.Substring(position.IndexOf("市") + 1, position.IndexOf("区") - position.IndexOf("市"));

                #region 标识信息
                XmlNodeList bs_data = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/标识信息/MD_标识");
                foreach (XmlNode bs_d in bs_data)
                {
                    //第一层数据
                    xmlObject.BS_YZ       = "'" + bs_d.SelectSingleNode("语种").InnerText;
                    xmlObject.BS_ZY       = "'" + bs_d.SelectSingleNode("摘要").InnerText;
                    xmlObject.BS_XZ       = "'" + bs_d.SelectSingleNode("现状").InnerText;
                    xmlObject.BS_TDLYFLXX = "'" + bs_d.SelectSingleNode("土地利用分类系统").InnerText;
                    xmlObject.BS_BSFS     = "'" + bs_d.SelectSingleNode("表示方式").InnerText;
                    xmlObject.BS_KJFBL    = "'" + bs_d.SelectSingleNode("空间分辨率").InnerText;
                    xmlObject.BS_LB       = "'" + bs_d.SelectSingleNode("类别").InnerText;
                    //其他多层数据
                    //数据集引用
                    XmlNodeList bs_other = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/标识信息/MD_标识/数据集引用/CI_引用");
                    xmlObject.BS_MC = "'" + bs_other[0].SelectSingleNode("名称").InnerText;
                    xmlObject.BS_RQ = "'" + bs_other[0].SelectSingleNode("日期").InnerText;
                    xmlObject.BS_BB = "'" + bs_other[0].SelectSingleNode("版本").InnerText;

                    //地理范围
                    bs_other          = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/标识信息/MD_标识/地理范围/EX_地理坐标范围");
                    xmlObject.BS_XBJD = "'" + bs_other[0].SelectSingleNode("西边经度").InnerText;
                    xmlObject.BS_DBJD = "'" + bs_other[0].SelectSingleNode("东边经度").InnerText;
                    xmlObject.BS_NBWD = "'" + bs_other[0].SelectSingleNode("南边纬度").InnerText;
                    xmlObject.BS_BBWD = "'" + bs_other[0].SelectSingleNode("北边纬度").InnerText;

                    //地理描述
                    bs_other           = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/标识信息/MD_标识/地理描述/SI_地理描述");
                    xmlObject.BS_DLBSF = "'" + bs_other[0].SelectSingleNode("地理标识符").InnerText;

                    //时间范围
                    bs_other          = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/标识信息/MD_标识/时间范围/EX_时间范围/范围/TM_时间段");
                    xmlObject.BS_QSSJ = "'" + bs_other[0].SelectSingleNode("起始时间").InnerText;
                    xmlObject.BS_ZZSJ = "'" + bs_other[0].SelectSingleNode("终止时间").InnerText;

                    //数据集联系信息
                    bs_other            = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/标识信息/MD_标识/数据集联系信息/CI_负责单位");
                    xmlObject.BS_FZDWMC = "'" + bs_other[0].SelectSingleNode("负责单位名称").InnerText;
                    xmlObject.BS_LXR    = "'" + bs_other[0].SelectSingleNode("联系人").InnerText;
                    xmlObject.BS_ZZ     = "'" + bs_other[0].SelectSingleNode("职责").InnerText;
                    xmlObject.BS_DH     = "'" + bs_other[0].SelectSingleNode("联系信息").SelectSingleNode("电话").InnerText;
                    xmlObject.BS_CZ     = "'" + bs_other[0].SelectSingleNode("联系信息").SelectSingleNode("传真").InnerText;
                    xmlObject.BS_TXDZ   = "'" + bs_other[0].SelectSingleNode("联系信息").SelectSingleNode("通信地址").InnerText;
                    xmlObject.BS_YZBM   = "'" + bs_other[0].SelectSingleNode("联系信息").SelectSingleNode("邮政编码").InnerText;
                    xmlObject.BS_DZXXDZ = "'" + bs_other[0].SelectSingleNode("联系信息").SelectSingleNode("电子信箱地址").InnerText;
                    xmlObject.BS_WZ     = "'" + bs_other[0].SelectSingleNode("联系信息").SelectSingleNode("网址").InnerText;

                    //数据集限制
                    bs_other            = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/标识信息/MD_标识/数据集限制/MD_数据集限制");
                    xmlObject.BS_SYXZDM = "'" + bs_other[0].SelectSingleNode("使用限制代码").InnerText;
                    xmlObject.BS_AQDJDM = "'" + bs_other[0].SelectSingleNode("MD_安全限制").SelectSingleNode("安全等级代码").InnerText;
                    //数据集格式
                    bs_other               = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/标识信息/MD_标识/数据集格式/MD_格式");
                    xmlObject.BS_MC2       = "'" + bs_other[0].SelectSingleNode("名称").InnerText;
                    xmlObject.BS_BB2       = "'" + bs_other[0].SelectSingleNode("版本").InnerText;
                    xmlObject.BS_SJKGLRJMC = "'" + bs_other[0].SelectSingleNode("数据库管理软件名称").InnerText;
                }
                #endregion

                #region 数据质量信息
                bs_data          = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/数据质量信息");
                xmlObject.SJ_MS  = "'" + bs_data[0].SelectSingleNode("概述").InnerText;
                xmlObject.SJ_SJZ = "'" + bs_data[0].SelectSingleNode("数据志").InnerText;
                #endregion

                #region 空间参照系统信息
                bs_data = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/空间参照系统信息/RS_参照系统/SC_大地坐标参照系统");
                xmlObject.KJ_DDZBCZXTMC = "'" + bs_data[0].SelectSingleNode("大地坐标参照系统名称").InnerText;
                xmlObject.KJ_ZBXTLX     = "'" + bs_data[0].SelectSingleNode("SC_大地坐标系统").SelectSingleNode("坐标系统类型").InnerText;
                xmlObject.KJ_ZBXTMC     = "'" + bs_data[0].SelectSingleNode("SC_大地坐标系统").SelectSingleNode("坐标系统名称").InnerText;
                xmlObject.KJ_TYZBXTCS   = "'" + bs_data[0].SelectSingleNode("SC_大地坐标系统").SelectSingleNode("投影坐标系统参数").InnerText;
                #endregion

                #region 内容信息
                bs_data               = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/内容信息/MD_内容描述");
                xmlObject.NL_TCMC     = "'" + bs_data[0].SelectSingleNode("图层名称").InnerText;
                xmlObject.NL_YSSTLXMC = "'" + bs_data[0].SelectSingleNode("要素实体类型名称").InnerText;
                xmlObject.NL_SXLB     = "'" + bs_data[0].SelectSingleNode("属性列表").InnerText;
                #endregion

                #region 分发信息
                bs_data              = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/分发信息/MD_分发");
                xmlObject.FF_ZXLJ    = "'" + bs_data[0].SelectSingleNode("数字传输选项").SelectSingleNode("在线连接").InnerText;
                bs_data              = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/分发信息/MD_分发/分发者/MD_分发者/分发者联系信息/CI_负责单位");
                xmlObject.FF_FZDWRMC = "'" + bs_data[0].SelectSingleNode("负责单位名称").InnerText;
                xmlObject.FF_LXR     = "'" + bs_data[0].SelectSingleNode("联系人").InnerText;
                xmlObject.FF_ZZ1     = "'" + bs_data[0].SelectSingleNode("职责").InnerText;
                xmlObject.FF_ZZ2     = "'" + bs_data[0].SelectSingleNode("职责").NextSibling.InnerText;
                xmlObject.FF_ZZ3     = "'" + bs_data[0].SelectSingleNode("职责").NextSibling.NextSibling.InnerText;//转译
                bs_data              = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/分发信息/MD_分发/分发者/MD_分发者/分发者联系信息/CI_负责单位/联系信息/CI_联系");
                xmlObject.FF_DH      = "'" + bs_data[0].SelectSingleNode("电话").InnerText;
                xmlObject.FF_CZ      = "'" + bs_data[0].SelectSingleNode("传真").InnerText;
                xmlObject.FF_TXDZ    = "'" + bs_data[0].SelectSingleNode("通信地址").InnerText;
                xmlObject.FF_YZBM    = "'" + bs_data[0].SelectSingleNode("邮政编码").InnerText;
                xmlObject.FF_DZXXDZ  = "'" + bs_data[0].SelectSingleNode("电子信箱地址").InnerText;
                xmlObject.FF_WZ      = "'" + bs_data[0].SelectSingleNode("网址").InnerText;
                #endregion

                #region MD_元数据
                bs_data             = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/MD_元数据");
                xmlObject.MD_RQ     = "'" + bs_data[0].SelectSingleNode("日期").InnerText;
                bs_data             = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/MD_元数据/联系/CI负责单位");
                xmlObject.MD_FZDWMC = "'" + bs_data[0].SelectSingleNode("负责单位名称").InnerText;
                xmlObject.MD_LXR    = "'" + bs_data[0].SelectSingleNode("联系人").InnerText;
                xmlObject.MD_ZZ     = "'" + bs_data[0].SelectSingleNode("职责").InnerText;
                bs_data             = xmlDoc.SelectNodes("/福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据/MD_元数据/联系/CI_联系/联系信息");
                xmlObject.MD_DH     = "'" + bs_data[0].SelectSingleNode("电话").InnerText;
                xmlObject.MD_CZ     = "'" + bs_data[0].SelectSingleNode("传真").InnerText;
                xmlObject.MD_TXDZ   = "'" + bs_data[0].SelectSingleNode("通信地址").InnerText;
                xmlObject.MD_YZBM   = "'" + bs_data[0].SelectSingleNode("邮政编码").InnerText;
                xmlObject.MD_DZXXDZ = "'" + bs_data[0].SelectSingleNode("电子信箱地址").InnerText;
                xmlObject.MD_WZ     = "'" + bs_data[0].SelectSingleNode("网址").InnerText;
                #endregion
            }
            catch (Exception ex)
            {
                ErrorLog.RecordExceptionToFile(ex, filePath, fileName);
                MessageBox.Show("xml文件有异常,请查看错误日志ErrorLog", "确定");
            }
            finally
            {
                #region //将特殊字符还原

                using (FileStream fs = new FileStream(@"" + filePath + "\\" + fileName, FileMode.Open, FileAccess.Read))
                {
                    using (StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312")))
                    {
                        text = sr.ReadToEnd();
                        text = text.Replace("要素实体类型名称", "要素(实体)类型名称");
                    }
                }
                using (FileStream fs = new FileStream(@"" + filePath + "\\" + fileName, FileMode.Create, FileAccess.Write))
                {
                    using (StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding("gb2312")))
                    {
                        sw.Write(text);
                    }
                }
                #endregion
            }
            return(xmlObject);
        }
Exemple #4
0
        /// <summary>
        /// 把object对象生产一个xml文件
        /// </summary>
        /// <param name="filePath">输出路径</param>
        /// <param name="xmlObject">数据内容</param>
        /// <returns></returns>
        public bool ObjectToXMLFile(String filePath, XMLObject xmlObject)
        {
            var sb = new StringBuilder();

            #region 文件
            sb.Append("<?xml version='1.0' encoding='gb2312'?>");
            sb.Append("\n<福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>");
            sb.Append("\n\t<标识信息>");
            sb.Append("\n\t\t<MD_标识>");
            sb.Append("\n\t\t\t<数据集引用>");
            sb.Append("\n\t\t\t\t<CI_引用>");
            sb.Append("\n\t\t\t\t\t<名称>" + xmlObject.BS_MC + "</名称>");
            sb.Append("\n\t\t\t\t\t<日期>" + xmlObject.BS_RQ + "</日期>");
            sb.Append("\n\t\t\t\t\t<版本>" + xmlObject.BS_BB + "</版本>");
            sb.Append("\n\t\t\t\t</CI_引用>");
            sb.Append("\n\t\t\t</数据集引用>");
            sb.Append("\n\t\t\t<语种>" + xmlObject.BS_YZ + "</语种>");
            sb.Append("\n\t\t\t<摘要>" + xmlObject.BS_ZY + "</摘要>");
            sb.Append("\n\t\t\t<现状>" + xmlObject.BS_XZ + "</现状>");
            sb.Append("\n\t\t\t<土地利用分类系统>" + xmlObject.BS_TDLYFLXX + "</土地利用分类系统>");
            sb.Append("\n\t\t\t<地理范围>");
            sb.Append("\n\t\t\t\t<EX_地理坐标范围>");
            sb.Append("\n\t\t\t\t\t<西边经度>" + xmlObject.BS_XBJD + "</西边经度>");
            sb.Append("\n\t\t\t\t\t<东边经度>" + xmlObject.BS_DBJD + "</东边经度>");
            sb.Append("\n\t\t\t\t\t<南边纬度>" + xmlObject.BS_NBWD + "</南边纬度>");
            sb.Append("\n\t\t\t\t\t<北边纬度>" + xmlObject.BS_BBWD + "</北边纬度>");
            sb.Append("\n\t\t\t\t</EX_地理坐标范围>");
            sb.Append("\n\t\t\t</地理范围>");
            sb.Append("\n\t\t\t<地理描述>");
            sb.Append("\n\t\t\t\t<SI_地理描述>");
            sb.Append("\n\t\t\t\t\t<地理标识符>" + xmlObject.BS_DLBSF + "</地理标识符>");
            sb.Append("\n\t\t\t\t</SI_地理描述>");
            sb.Append("\n\t\t\t</地理描述>");
            sb.Append("\n\t\t\t<时间范围>");
            sb.Append("\n\t\t\t\t<EX_时间范围>");
            sb.Append("\n\t\t\t\t\t<范围>");
            sb.Append("\n\t\t\t\t\t\t<TM_时间段>");
            sb.Append("\n\t\t\t\t\t\t\t<起始时间>" + xmlObject.BS_QSSJ + "</起始时间>");
            sb.Append("\n\t\t\t\t\t\t\t<终止时间>" + xmlObject.BS_ZZSJ + "</终止时间>");
            sb.Append("\n\t\t\t\t\t\t</TM_时间段>");
            sb.Append("\n\t\t\t\t\t</范围>");
            sb.Append("\n\t\t\t\t</EX_时间范围>");
            sb.Append("\n\t\t\t</时间范围>");
            sb.Append("\n\t\t\t<表示方式>" + xmlObject.BS_BSFS + "</表示方式>");
            sb.Append("\n\t\t\t<空间分辨率>" + xmlObject.BS_KJFBL + "</空间分辨率>");
            sb.Append("\n\t\t\t<类别>" + xmlObject.BS_LB + "</类别>");
            sb.Append("\n\t\t\t<数据集联系信息>");
            sb.Append("\n\t\t\t\t<CI_负责单位>");
            sb.Append("\n\t\t\t\t\t<负责单位名称>" + xmlObject.BS_FZDWMC + "</负责单位名称>");
            sb.Append("\n\t\t\t\t\t<联系人>" + xmlObject.BS_LXR + "</联系人>");
            sb.Append("\n\t\t\t\t\t<职责>" + xmlObject.BS_ZZ + "</职责>");
            sb.Append("\n\t\t\t\t\t<联系信息>");
            sb.Append("\n\t\t\t\t\t\t<电话>" + xmlObject.BS_DH + "</电话>");
            sb.Append("\n\t\t\t\t\t\t<传真>" + xmlObject.BS_CZ + "</传真>");
            sb.Append("\n\t\t\t\t\t\t<通信地址>" + xmlObject.BS_TXDZ + "</通信地址>");
            sb.Append("\n\t\t\t\t\t\t<邮政编码>" + xmlObject.BS_YZBM + "</邮政编码>");
            sb.Append("\n\t\t\t\t\t\t<电子信箱地址>" + xmlObject.BS_DZXXDZ + "</电子信箱地址>");
            sb.Append("\n\t\t\t\t\t\t<网址>" + xmlObject.BS_WZ + "</网址>");
            sb.Append("\n\t\t\t\t\t</联系信息>");
            sb.Append("\n\t\t\t\t</CI_负责单位>");
            sb.Append("\n\t\t\t</数据集联系信息>");
            sb.Append("\n\t\t\t<静态浏览图信息>");
            sb.Append("\n\t\t\t\t<MD_浏览图>");
            sb.Append("\n\t\t\t\t\t<文件名称>" + xmlObject.BS_WJMC + "</文件名称>");
            sb.Append("\n\t\t\t\t</MD_浏览图>");
            sb.Append("\n\t\t\t</静态浏览图信息>");
            sb.Append("\n\t\t\t<数据集限制>");
            sb.Append("\n\t\t\t\t<MD_数据集限制>");
            sb.Append("\n\t\t\t\t\t<使用限制代码>" + xmlObject.BS_SYXZDM + "</使用限制代码>");
            sb.Append("\n\t\t\t\t\t<MD_安全限制>");
            sb.Append("\n\t\t\t\t\t\t<安全等级代码>" + xmlObject.BS_AQDJDM + "</安全等级代码>");
            sb.Append("\n\t\t\t\t\t</MD_安全限制>");
            sb.Append("\n\t\t\t\t</MD_数据集限制>");
            sb.Append("\n\t\t\t</数据集限制>");
            sb.Append("\n\t\t\t<数据集格式>");
            sb.Append("\n\t\t\t\t<MD_格式>");
            sb.Append("\n\t\t\t\t\t<名称>" + xmlObject.BS_MC2 + "</名称>");
            sb.Append("\n\t\t\t\t\t<版本>" + xmlObject.BS_BB2 + "</版本>");
            sb.Append("\n\t\t\t\t\t<数据库管理软件名称>" + xmlObject.BS_SJKGLRJMC + "</数据库管理软件名称>");
            sb.Append("\n\t\t\t\t</MD_格式>");
            sb.Append("\n\t\t\t</数据集格式>");
            sb.Append("\n\t\t</MD_标识>");
            sb.Append("\n\t</标识信息>");

            sb.Append("\n\t<数据质量信息>");
            sb.Append("\n\t\t<概述>" + xmlObject.SJ_MS);
            sb.Append("\n\t\t</概述>");
            sb.Append("\n\t\t<数据志>" + xmlObject.SJ_SJZ + "</数据志>");
            sb.Append("\n\t</数据质量信息>");

            sb.Append("\n\t<空间参照系统信息>");
            sb.Append("\n\t\t<RS_参照系统>");
            sb.Append("\n\t\t\t<SC_大地坐标参照系统>");
            sb.Append("\n\t\t\t\t<大地坐标参照系统名称>" + xmlObject.KJ_DDZBCZXTMC + "</大地坐标参照系统名称>");
            sb.Append("\n\t\t\t\t<SC_大地坐标系统>");
            sb.Append("\n\t\t\t\t\t<坐标系统类型>" + xmlObject.KJ_ZBXTLX + "</坐标系统类型>");
            sb.Append("\n\t\t\t\t\t<坐标系统名称>" + xmlObject.KJ_ZBXTMC + "</坐标系统名称>");
            sb.Append("\n\t\t\t\t\t<投影坐标系统参数>" + xmlObject.KJ_TYZBXTCS + "</投影坐标系统参数>");
            sb.Append("\n\t\t\t\t</SC_大地坐标系统>");
            sb.Append("\n\t\t\t</SC_大地坐标参照系统>");
            sb.Append("\n\t\t</RS_参照系统>");
            sb.Append("\n\t</空间参照系统信息>");

            sb.Append("\n\t<内容信息>");
            sb.Append("\n\t\t<MD_内容描述>");
            sb.Append("\n\t\t\t<图层名称>" + xmlObject.NL_TCMC + "</图层名称>");
            sb.Append("\n\t\t\t<要素(实体)类型名称>" + xmlObject.NL_YSSTLXMC + "</要素(实体)类型名称>");
            sb.Append("\n\t\t\t<属性列表>" + xmlObject.NL_SXLB + "</属性列表>");
            sb.Append("\n\t\t</MD_内容描述>");
            sb.Append("\n\t</内容信息>");

            sb.Append("\n\t<分发信息>");
            sb.Append("\n\t\t<MD_分发>");
            sb.Append("\n\t\t\t<数字传输选项>");
            sb.Append("\n\t\t\t\t<在线连接>" + xmlObject.FF_ZXLJ + "</在线连接>");
            sb.Append("\n\t\t\t</数字传输选项>");
            sb.Append("\n\t\t\t<分发者>");
            sb.Append("\n\t\t\t\t<MD_分发者>");
            sb.Append("\n\t\t\t\t\t<分发者联系信息>");
            sb.Append("\n\t\t\t\t\t\t<CI_负责单位>");
            sb.Append("\n\t\t\t\t\t\t\t<负责单位名称>" + xmlObject.FF_FZDWRMC + "</负责单位名称>");
            sb.Append("\n\t\t\t\t\t\t\t<联系人>" + xmlObject.FF_LXR + "</联系人>");
            sb.Append("\n\t\t\t\t\t\t\t<职责>" + xmlObject.FF_ZZ1 + "</职责>");
            sb.Append("\n\t\t\t\t\t\t\t<职责>" + xmlObject.FF_ZZ2 + "</职责>");
            sb.Append("\n\t\t\t\t\t\t\t<职责>" + xmlObject.FF_ZZ3 + "</职责>");
            sb.Append("\n\t\t\t\t\t\t\t<联系信息>");
            sb.Append("\n\t\t\t\t\t\t\t\t<CI_联系>");
            sb.Append("\n\t\t\t\t\t\t\t\t\t<电话>" + xmlObject.FF_DH + "</电话>");
            sb.Append("\n\t\t\t\t\t\t\t\t\t<传真>" + xmlObject.FF_CZ + "</传真>");
            sb.Append("\n\t\t\t\t\t\t\t\t\t<通信地址>" + xmlObject.FF_TXDZ + "</通信地址>");
            sb.Append("\n\t\t\t\t\t\t\t\t\t<邮政编码>" + xmlObject.FF_YZBM + "</邮政编码>");
            sb.Append("\n\t\t\t\t\t\t\t\t\t<电子信箱地址>" + xmlObject.FF_DZXXDZ + "</电子信箱地址>");
            sb.Append("\n\t\t\t\t\t\t\t\t\t<网址>" + xmlObject.FF_WZ + "</网址>");
            sb.Append("\n\t\t\t\t\t\t\t\t</CI_联系>");
            sb.Append("\n\t\t\t\t\t\t\t</联系信息>");
            sb.Append("\n\t\t\t\t\t\t</CI_负责单位>");
            sb.Append("\n\t\t\t\t\t</分发者联系信息>");
            sb.Append("\n\t\t\t\t</MD_分发者>");
            sb.Append("\n\t\t\t</分发者>");
            sb.Append("\n\t\t</MD_分发>");
            sb.Append("\n\t</分发信息>");

            sb.Append("\n\t<MD_元数据>");
            sb.Append("\n\t\t<日期>" + xmlObject.MD_RQ + "</日期>");
            sb.Append("\n\t\t<联系>");
            sb.Append("\n\t\t\t<CI负责单位>");
            sb.Append("\n\t\t\t\t<负责单位名称>" + xmlObject.MD_FZDWMC + "</负责单位名称>");
            sb.Append("\n\t\t\t\t<联系人>" + xmlObject.MD_LXR + "</联系人>");
            sb.Append("\n\t\t\t\t<职责>" + xmlObject.MD_ZZ + "</职责>");
            sb.Append("\n\t\t\t</CI负责单位>");
            sb.Append("\n\t\t\t<CI_联系>");
            sb.Append("\n\t\t\t\t<联系信息>");
            sb.Append("\n\t\t\t\t\t<电话>" + xmlObject.MD_DH + "</电话>");
            sb.Append("\n\t\t\t\t\t<传真>" + xmlObject.MD_CZ + "</传真>");
            sb.Append("\n\t\t\t\t\t<通信地址>" + xmlObject.MD_TXDZ + "</通信地址>");
            sb.Append("\n\t\t\t\t\t<邮政编码>" + xmlObject.MD_YZBM + "</邮政编码>");
            sb.Append("\n\t\t\t\t\t<电子信箱地址>" + xmlObject.MD_DZXXDZ + "</电子信箱地址>");
            sb.Append("\n\t\t\t\t\t<网址>" + xmlObject.MD_WZ + "</网址>");
            sb.Append("\n\t\t\t\t</联系信息>");
            sb.Append("\n\t\t\t</CI_联系>");
            sb.Append("\n\t\t</联系>");
            sb.Append("\n\t</MD_元数据>");
            sb.Append("\n</福建省" + xmlObject.City + xmlObject.Area + "基本农田永久划定成果元数据>");
            #endregion
            if (!File.Exists(filePath + "\\" + xmlObject.fileName))
            {
                using (StreamWriter sw = new StreamWriter(filePath + "\\" + xmlObject.fileName, false, Encoding.GetEncoding("GB2312")))
                {
                    sw.WriteLine(sb.ToString());
                    sw.Close(); //关闭文件
                }
                //StreamWriter sw = File.CreateText(filePath + "\\" + xmlObject.fileName);

                //string d = sb.ToString();
                //sw.WriteLine(sb.ToString());
                //sw.Close(); //关闭文件
            }
            return(true);
        }