Esempio n. 1
0
        public static DataModel Deserialize(string fileKey, string modelName)
        {
            //添加缓存
            DataModel result = new DataModel();
            XElement  root   = MappingFileManager.LoadMappingFile(fileKey);

            IEnumerable <XElement> elements = from item in root.Descendants("datamodel")
                                              where item.Attribute("name").Value == modelName
                                              select item;

            ExceptionHelper.TrueThrow(elements.Count() > 1, string.Format("Model:{0} 存在多个匹配节点", modelName));

            IDataModelSerilizer serializer = SerializerFactory.CreateSerializer("datamodel");

            result = ((DataModel)serializer.Deserialize(elements.First()));

            return(result);
        }
Esempio n. 2
0
        private static ModelBase Deserialize(XElement e)
        {
            IDataModelSerilizer serializer = SerializerFactory.CreateSerializer(e.Name.LocalName);

            return(serializer.Deserialize(e));
        }