public static bool SerializeXml(string filePath, object target)
        {
            if (target == null)
            {
                return false;
            }
            if (string.IsNullOrEmpty(filePath))
            {
                return false;
            }

            try
            {
                System.Xml.Serialization.XmlSerializerFactory xmlSerializerFactory = new System.Xml.Serialization.XmlSerializerFactory();
                System.Xml.Serialization.XmlSerializer xmlSerializer = xmlSerializerFactory.CreateSerializer(target.GetType(), target.GetType().Name);
                System.IO.Stream stream = new System.IO.FileStream(filePath, System.IO.FileMode.OpenOrCreate);
                xmlSerializer.Serialize(stream, target);
                stream.Close();
                return true;
            }
            catch
            {
                return false;
            }
        }
        public static object DeserializeXml(string filePath, Type targetType)
        {
            if (targetType == null)
            {
                return null;
            }

            if (!Validator.IsValidFile(filePath))
            {
                return null;
            }

            try
            {
                System.Xml.Serialization.XmlSerializerFactory xmlSerializerFactory = new System.Xml.Serialization.XmlSerializerFactory();
                System.Xml.Serialization.XmlSerializer xmlSerializer = xmlSerializerFactory.CreateSerializer(targetType, targetType.Name);
                System.IO.Stream stream = new System.IO.FileStream(filePath, System.IO.FileMode.Open);
                object obj = xmlSerializer.Deserialize(stream);
                stream.Close();
                return obj;
            }
            catch
            {
                return null;
            }

        }