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); }
private static ModelBase Deserialize(XElement e) { IDataModelSerilizer serializer = SerializerFactory.CreateSerializer(e.Name.LocalName); return(serializer.Deserialize(e)); }