public static CT_CacheField Parse(XmlNode node, XmlNamespaceManager namespaceManager)
 {
     if (node == null)
         return null;
     CT_CacheField ctObj = new CT_CacheField();
     ctObj.name = XmlHelper.ReadString(node.Attributes["name"]);
     ctObj.caption = XmlHelper.ReadString(node.Attributes["caption"]);
     ctObj.propertyName = XmlHelper.ReadString(node.Attributes["propertyName"]);
     if (node.Attributes["serverField"] != null)
         ctObj.serverField = XmlHelper.ReadBool(node.Attributes["serverField"]);
     if (node.Attributes["uniqueList"] != null)
         ctObj.uniqueList = XmlHelper.ReadBool(node.Attributes["uniqueList"]);
     if (node.Attributes["numFmtId"] != null)
         ctObj.numFmtId = XmlHelper.ReadUInt(node.Attributes["numFmtId"]);
     ctObj.formula = XmlHelper.ReadString(node.Attributes["formula"]);
     if (node.Attributes["sqlType"] != null)
         ctObj.sqlType = XmlHelper.ReadInt(node.Attributes["sqlType"]);
     if (node.Attributes["hierarchy"] != null)
         ctObj.hierarchy = XmlHelper.ReadInt(node.Attributes["hierarchy"]);
     if (node.Attributes["level"] != null)
         ctObj.level = XmlHelper.ReadUInt(node.Attributes["level"]);
     if (node.Attributes["databaseField"] != null)
         ctObj.databaseField = XmlHelper.ReadBool(node.Attributes["databaseField"]);
     if (node.Attributes["mappingCount"] != null)
         ctObj.mappingCount = XmlHelper.ReadUInt(node.Attributes["mappingCount"]);
     if (node.Attributes["memberPropertyField"] != null)
         ctObj.memberPropertyField = XmlHelper.ReadBool(node.Attributes["memberPropertyField"]);
     ctObj.mpMap = new List<CT_X>();
     foreach (XmlNode childNode in node.ChildNodes)
     {
         if (childNode.LocalName == "sharedItems")
             ctObj.sharedItems = CT_SharedItems.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "fieldGroup")
             ctObj.fieldGroup = CT_FieldGroup.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "extLst")
             ctObj.extLst = CT_ExtensionList.Parse(childNode, namespaceManager);
         else if (childNode.LocalName == "mpMap")
             ctObj.mpMap.Add(CT_X.Parse(childNode, namespaceManager));
     }
     return ctObj;
 }
 public CT_CacheField AddNewCacheField()
 {
     CT_CacheField f = new CT_CacheField();
     this.cacheFieldField.Add(f);
     return f;
 }