Ejemplo n.º 1
0
        /// <summary>
        /// 将list集合保存为XML文档
        /// </summary>
        /// <typeparam name="TSource"></typeparam>
        /// <param name="source"></param>
        public static void Save <TSource>(this List <TSource> source)
        {
            string        fileName      = PathRoute.GetXmlPath <TSource>();
            FileInfo      fileInfo      = new FileInfo(fileName);
            DirectoryInfo directoryInfo = fileInfo.Directory;

            if (!directoryInfo.Exists)
            {
                directoryInfo.Create();
            }
            XmlSerializer xmlSerializer = new XmlSerializer(source.GetType());

            using (Stream writer = new FileStream(fileName, FileMode.Create, FileAccess.Write))
            {
                xmlSerializer.Serialize(writer, source);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 加载XML文档返回List集合
        /// </summary>
        /// <typeparam name="TSource"></typeparam>
        /// <param name="source"></param>
        /// <returns></returns>
        public static List <TSource> Load <TSource>(this List <TSource> source)
        {
            string fileName = PathRoute.GetXmlPath <TSource>();

            if (File.Exists(fileName))
            {
                XmlSerializer xmlSerializer = new XmlSerializer(typeof(List <TSource>));
                using (Stream reader = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                {
                    return(xmlSerializer.Deserialize(reader) as List <TSource>);
                }
            }
            else
            {
                return(new List <TSource>());
            }
        }