From a70c5f724cc6916e846c0c925eca528e2d43eda8 Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 6 Oct 2020 16:53:47 +0800 Subject: [PATCH] =?UTF-8?q?implement=20XML=E5=BA=8F=E5=88=97=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Mozi.HttpEmbedded/Page/Router.cs | 2 +- Mozi.HttpEmbedded/Serialize/ISerializer.cs | 2 +- Mozi.HttpEmbedded/Serialize/XMLSerializer.cs | 45 +++++++++++++++++--- 3 files changed, 41 insertions(+), 8 deletions(-) diff --git a/Mozi.HttpEmbedded/Page/Router.cs b/Mozi.HttpEmbedded/Page/Router.cs index a79f65e..e79a890 100644 --- a/Mozi.HttpEmbedded/Page/Router.cs +++ b/Mozi.HttpEmbedded/Page/Router.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Globalization; using System.Reflection; using System.Text.RegularExpressions; -using Mozi.HttpEmbedded.DataSerialize; +using Mozi.HttpEmbedded.Serialize; namespace Mozi.HttpEmbedded.Page { diff --git a/Mozi.HttpEmbedded/Serialize/ISerializer.cs b/Mozi.HttpEmbedded/Serialize/ISerializer.cs index 6ef5698..d034cd7 100644 --- a/Mozi.HttpEmbedded/Serialize/ISerializer.cs +++ b/Mozi.HttpEmbedded/Serialize/ISerializer.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace Mozi.HttpEmbedded.DataSerialize +namespace Mozi.HttpEmbedded.Serialize { /// /// 数据序列化接口 diff --git a/Mozi.HttpEmbedded/Serialize/XMLSerializer.cs b/Mozi.HttpEmbedded/Serialize/XMLSerializer.cs index f06a305..17380ae 100644 --- a/Mozi.HttpEmbedded/Serialize/XMLSerializer.cs +++ b/Mozi.HttpEmbedded/Serialize/XMLSerializer.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; -using Mozi.HttpEmbedded.DataSerialize; +using System.IO; +using System.Xml; +using System.Xml.Serialization; namespace Mozi.HttpEmbedded.Serialize { @@ -9,19 +11,50 @@ namespace Mozi.HttpEmbedded.Serialize /// public class XMLSerializer : ISerializer { + /// + /// 反序列化 + /// + /// + /// + /// public T Decode(string data) { - throw new NotImplementedException(); + XmlSerializer serializer = new XmlSerializer(typeof(T)); + using (StringReader reader = new StringReader(data)) + { + return (T)serializer.Deserialize(reader); + } } - + /// + /// 反列表序列化 + /// + /// + /// + /// public IEnumerable DecodeList(string data) { - throw new NotImplementedException(); + XmlSerializer serializer = new XmlSerializer(typeof(List)); + using (StringReader reader = new StringReader(data)) + { + return (List)serializer.Deserialize(reader); + } } - + /// + /// 序列化 + /// + /// + /// public string Encode(object data) { - throw new NotImplementedException(); + XmlSerializer serializer = new XmlSerializer(data.GetType()); + string content = string.Empty; + //serialize + using (StringWriter writer = new StringWriter()) + { + serializer.Serialize(writer, data); + content = writer.ToString(); + }; + return content; } } /// -- GitLab