惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Register - Security
The Register - Security
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
N
Netflix TechBlog - Medium
量子位
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
H
Help Net Security
D
Docker
D
DataBreaches.Net
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
B
Blog
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
Google DeepMind News
Google DeepMind News
The Cloudflare Blog
F
Full Disclosure
GbyAI
GbyAI
F
Fortinet All Blogs
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理
Recent Announcements
Recent Announcements
博客园 - Franky
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
博客园 - 叶小钗
小众软件
小众软件
V
Visual Studio Blog
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
Recorded Future
Recorded Future
J
Java Code Geeks
雷峰网
雷峰网
P
Privacy & Cybersecurity Law Blog
C
Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
AWS News Blog
AWS News Blog
Webroot Blog
Webroot Blog
美团技术团队
N
News | PayPal Newsroom
G
Google Developers Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园_首页
V
Vulnerabilities – Threatpost

博客园 - 落叶潇潇雨

Can't get WebApplicationContext object from ContextRegistry.GetContext(): Resource handler for the 'web' protocol is not defined Asp.net 导出Excel How to debug Typescript in browser log4net使用的关键点 DataContractSerializer序列化与反序列化遇到的奇怪问题 图文安装Windows Template Library - WTL Version 9.0 WCF的传输安全(读书笔记) Asp.net mvc 各个组件的分离 同程旅游网开放平台SDK开发完成 csdn回到顶端 SQL多行变一列 Timer的schedule和scheduleAtFixedRate方法的区别解析 android 主线程和子线程之间的消息传递 activity生命周期 瀑布流插件 CSS自适应宽度圆角按钮 ajaxFileUpload上传文件和表单数据 Ajax上传表单数据和文件 使用Rhino Mocks
xml序列化与反序列化
落叶潇潇雨 · 2016-04-17 · via 博客园 - 落叶潇潇雨

public static void Serialize(ParseResult parseResult)

        {

            var filePath = Path.Combine(CachePath, parseResult.ParseTime + ".xml");

            if (File.Exists(filePath))

            {

                File.SetAttributes(filePath, FileAttributes.Normal);

                File.Delete(filePath);

            }

            var ds = new XmlSerializer(typeof(ParseResult));

            var settings = new XmlWriterSettings { Indent = true };

            using (var writer = XmlWriter.Create(filePath, settings))

            {

                ds.Serialize(writer, parseResult);

            }

        }

        public static ParseResult Deserialize(string fileName)

        {

            try

            {

                var serializer = new XmlSerializer(typeof(ParseResult));

                var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read);

                var parseResult = serializer.Deserialize(stream) as ParseResult;

                stream.Close();

                return parseResult;

            }

            catch

            {

                return null;

            }

        }

      public static void Serialize<T>(T parseResult, string fileName)

        {

            var filePath = Path.Combine(DirectoryPath, fileName);

            if (File.Exists(filePath))

            {

                File.SetAttributes(filePath, FileAttributes.Normal);

                File.Delete(filePath);

            }

            var ds = new XmlSerializer(typeof(T));

            var settings = new XmlWriterSettings { Indent = true };

            using (var writer = XmlWriter.Create(filePath, settings))

            {

                ds.Serialize(writer, parseResult);

            }

        }

        public static T Deserialize<T>(string fileName)

        {

            try

            {

                var serializer = new XmlSerializer(typeof(T));

                var stream = new FileStream(Path.Combine(DirectoryPath, fileName), FileMode.Open, FileAccess.Read);

                var parseResult = (T)serializer.Deserialize(stream);

                stream.Close();

                return parseResult;

            }

            catch (Exception exception)

            {

                return default(T);

            }

        }

public static string Serialize<T>(T parseResult)

        {

            try

            {

                var buffer = new StringBuilder();

                var ds = new XmlSerializer(typeof(T));

                using (var writer = new StringWriter(buffer))

                {

                    ds.Serialize(writer, parseResult);

                }

                return buffer.ToString();

            }

            catch (Exception)

            {

                return string.Empty;

            }

        }