//private const string OView = "o:View";
        /// <summary>
        /// 读取指定Pdm文件的实体集合
        /// </summary>
        /// <param name="pdmFile">Pdm文件名(全路径名)</param>
        /// <returns>实体集合</returns>
        public PdmModel ReadFromFile(string pdmFile)
        {
            //加载文件.
            var xmlDoc = new XmlDocument();
            xmlDoc.Load(pdmFile);
            //必须增加xml命名空间管理,否则读取会报错.
            var xmlnsManager = new XmlNamespaceManager(xmlDoc.NameTable);
            xmlnsManager.AddNamespace("a", "attribute");
            xmlnsManager.AddNamespace("c", "collection");
            xmlnsManager.AddNamespace("o", "object");
            PdmModel theModel = new PdmModel();

            //读取所有表节点
            XmlNodeList xnTablesList = xmlDoc.SelectNodes("//" + CTables, xmlnsManager);
            if (xnTablesList != null)
                foreach (XmlNode xmlTables in xnTablesList)
                {
                    foreach (XmlNode xnTable in xmlTables.ChildNodes)
                    {
                        //排除快捷对象.
                        if (xnTable.Name != "o:Shortcut")
                        {
                            theModel.Tables.Add(GetTable(xnTable));
                        }
                    }
                }
            //读取所有视图节点.
            XmlNodeList xnViewsList = xmlDoc.SelectNodes("//" + CViews, xmlnsManager);
            if (xnViewsList != null)
                foreach (XmlNode xmlViews in xnViewsList)
                {
                    foreach (XmlNode xnView in xmlViews.ChildNodes)
                    {
                        theModel.Views.Add(GetView(xnView));
                    }
                }
            return theModel;
        }
        /// <summary>
        /// 读取指定Pdm文件的实体集合
        /// </summary>
        /// <param name="pdmFile">Pdm文件名(全路径名)</param>
        /// <returns>实体集合</returns>
        public PdmModel ReadFromFile(string pdmFile)
        {
            //加载文件. 使用只读形式打开PDM文件,这样就不会因为已经使用PowerDesigner打开PDM文件而导致抛异常了
            FileStream fs = new FileStream(pdmFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

            var xmlDoc = new XmlDocument();

            xmlDoc.Load(fs);
            //必须增加xml命名空间管理,否则读取会报错.
            var xmlnsManager = new XmlNamespaceManager(xmlDoc.NameTable);

            xmlnsManager.AddNamespace("a", "attribute");
            xmlnsManager.AddNamespace("c", "collection");
            xmlnsManager.AddNamespace("o", "object");
            PdmModel theModel = new PdmModel();

            //读取所有表节点
            XmlNodeList xnTablesList = xmlDoc.SelectNodes("//" + CTables, xmlnsManager);

            if (xnTablesList != null)
            {
                foreach (XmlNode xmlTables in xnTablesList)
                {
                    foreach (XmlNode xnTable in xmlTables.ChildNodes)
                    {
                        //排除快捷对象.
                        if (xnTable.Name != "o:Shortcut")
                        {
                            theModel.Tables.Add(GetTable(xnTable));
                        }
                    }
                }
            }
            //读取所有视图节点.
            XmlNodeList xnViewsList = xmlDoc.SelectNodes("//" + CViews, xmlnsManager);

            if (xnViewsList != null)
            {
                foreach (XmlNode xmlViews in xnViewsList)
                {
                    foreach (XmlNode xnView in xmlViews.ChildNodes)
                    {
                        theModel.Views.Add(GetView(xnView));
                    }
                }
            }

            // 读取所有存储过程节点
            XmlNodeList xnProcedureList = xmlDoc.SelectNodes("//" + CProcedures, xmlnsManager);

            if (xnProcedureList != null)
            {
                foreach (XmlNode xnProcedures in xnProcedureList)
                {
                    foreach (XmlNode xnProcedure in xnProcedures.ChildNodes)
                    {
                        theModel.Procedures.Add(GetProcedure(xnProcedure));
                    }
                }
            }

            return(theModel);
        }