public ViewColumnInfo(ViewInfo view)
 {
     _viewInfo = view;
 }
        //初始化"o:View"的节点
        private ViewInfo GetView(XmlNode xnView)
        {
            ViewInfo   theView = new ViewInfo();
            XmlElement xe      = (XmlElement)xnView;

            theView.ViewId = xe.GetAttribute("Id");
            XmlNodeList xnTProperty = xe.ChildNodes;

            foreach (XmlNode xnP in xnTProperty)
            {
                switch (xnP.Name)
                {
                case "a:ObjectID":
                    theView.ObjectId = xnP.InnerText;
                    break;

                case "a:Name":
                    theView.Name = xnP.InnerText;
                    break;

                case "a:Code":
                    theView.Code = xnP.InnerText;
                    break;

                case "a:CreationDate":
                    theView.CreationDate = String2DateTime(xnP.InnerText);
                    break;

                case "a:Creator":
                    theView.Creator = xnP.InnerText;
                    break;

                case "a:ModificationDate":
                    theView.ModificationDate = String2DateTime(xnP.InnerText);
                    break;

                case "a:Modifier":
                    theView.Modifier = xnP.InnerText;
                    break;

                case "a:Comment":
                    theView.Comment = xnP.InnerText;
                    break;

                case "a:Description":
                    theView.Description = xnP.InnerText;
                    break;

                case "a:View.SQLQuery":
                    theView.ViewSqlQuery = xnP.InnerText;
                    break;

                case "a:TaggedSQLQuery":
                    theView.TaggedSqlQuery = xnP.InnerText;
                    break;

                case "c:Columns":
                    InitColumns(xnP, theView);
                    break;
                }
            }
            return(theView);
        }
        //初始化"o:View"的节点
        private ViewInfo GetView(XmlNode xnView)
        {
            ViewInfo theView = new ViewInfo();
            XmlElement xe = (XmlElement)xnView;
            theView.ViewId = xe.GetAttribute("Id");
            XmlNodeList xnTProperty = xe.ChildNodes;
            foreach (XmlNode xnP in xnTProperty)
            {
                switch (xnP.Name)
                {
                    case "a:ObjectID":
                        theView.ObjectId = xnP.InnerText;
                        break;

                    case "a:Name":
                        theView.Name = xnP.InnerText;
                        break;

                    case "a:Code":
                        theView.Code = xnP.InnerText;
                        break;

                    case "a:CreationDate":
                        theView.CreationDate = String2DateTime(xnP.InnerText);
                        break;

                    case "a:Creator":
                        theView.Creator = xnP.InnerText;
                        break;

                    case "a:ModificationDate":
                        theView.ModificationDate = String2DateTime(xnP.InnerText);
                        break;

                    case "a:Modifier":
                        theView.Modifier = xnP.InnerText;
                        break;

                    case "a:Comment":
                        theView.Comment = xnP.InnerText;
                        break;

                    case "a:Description":
                        theView.Description = xnP.InnerText;
                        break;

                    case "a:View.SQLQuery":
                        theView.ViewSqlQuery = xnP.InnerText;
                        break;

                    case "a:TaggedSQLQuery":
                        theView.TaggedSqlQuery = xnP.InnerText;
                        break;

                    case "c:Columns":
                        InitColumns(xnP, theView);
                        break;
                }
            }
            return theView;
        }
 //初始化"c:Columns"的节点
 private void InitColumns(XmlNode xnColumns, ViewInfo pView)
 {
     foreach (XmlNode xnColumn in xnColumns)
     {
         pView.Columns.Add(GetColumn(xnColumn, pView));
     }
 }
        private ViewColumnInfo GetColumn(XmlNode xnColumn, ViewInfo ownerView)
        {
            ViewColumnInfo mColumn = new ViewColumnInfo(ownerView);
            XmlElement xe = (XmlElement)xnColumn;
            mColumn.ViewColumnId = xe.GetAttribute("Id");
            XmlNodeList xnCProperty = xe.ChildNodes;
            foreach (XmlNode xnP in xnCProperty)
            {
                switch (xnP.Name)
                {
                    case "a:ObjectID":
                        mColumn.ObjectId = xnP.InnerText;
                        break;

                    case "a:Name":
                        mColumn.Name = xnP.InnerText;
                        break;

                    case "a:Code":
                        mColumn.Code = xnP.InnerText;
                        break;

                    case "a:CreationDate":
                        mColumn.CreationDate = String2DateTime(xnP.InnerText);
                        break;

                    case "a:Creator":
                        mColumn.Creator = xnP.InnerText;
                        break;

                    case "a:ModificationDate":
                        mColumn.ModificationDate = String2DateTime(xnP.InnerText);
                        break;

                    case "a:Modifier":
                        mColumn.Modifier = xnP.InnerText;
                        break;

                    case "a:Comment":
                        mColumn.Comment = xnP.InnerText;
                        break;

                    case "a:DataType":
                        mColumn.DataType = xnP.InnerText;
                        break;

                    case "a:Length":
                        mColumn.Length = xnP.InnerText;
                        break;

                    case "a:Precision":
                        mColumn.Description = xnP.InnerText;
                        break;
                }
            }
            return mColumn;
        }